为了账号安全,请及时绑定邮箱和手机立即绑定

Hibernate初探之一对多映射

已采纳回答 / senthy
应该是因为学生是一对多关系中的多方,外键约束是设置在一方中的,所以是要删除班级则需要先删除关联的学生信息,删除一个学生则不需要。

已采纳回答 / 菜鸟自学之旅
空指针异常,应该是g对象为空,没获取到值

已采纳回答 / AugustineMO
该段代码的作用是指定该xml文件为项目hibernate的配置文件,如果没有没有这段代码编译项目的时候就会找不到hibernate的配置文件

最赞回答 / alwynxu
报的是空指针异常,且提示的是28行,很有可能获取到的班级变量g是一个空的.原因可能是你么有修改配置文档里面的  <property name="hibernate.hbm2ddl.auto">update</property>,将其改为update,不要是原来的create,因为如果是create会造成重新创建表,导致里面的数据丢失。

已采纳回答 / 蜜罐里的孩纸
关闭后,按照视频中的代码无法再次创建。因为getSessionFactory方法是直接返回sessionFactory;而getSession方法是会话工厂创建会话后返回session。sessionFactory初始化在static,只执行一次

已采纳回答 / 张国荣国张
数据库的字段限制了,不能传入空值,检查你的ANC_STUDENT标的GID有没有给他复制

已采纳回答 / qq_蓝朵儿_0
 Hibernate中的inverse属性只有两个值true、false,true表示将关系维护的权力交给对方,false表示不交出维护权力,这里设置的false表示双方都维护关系,"inverse"属性只能在set、list、map等几个标签中设置,像many-to-one,一对多,这样的都不能设置"inverse"这个属性值所以说它们只能取值"false"哦。给分~\(≧▽≦)/~啦啦啦

最赞回答 / lqclqc
额 看了下面的自己解决了 是因为在写 grade 的持久类的时候 写的是 private Set<Student> student  这只是声明了而已而应该正确的这样去写 private Set<Student> student=new HashSet<Student> 这样是初始化了并在堆内存中开辟了空间 可以用 add 方法 去放值

已采纳回答 / 雲中菩提
可以自动生成,使用myEclipse直接添加hibernate组件模块就可以自动生成。但有一个问题:myEclipse中集成的hibernate只有几个版本,跟不上hibernate的更新速度。如果想使用更高版本的hibernate,就必须自己添加jar包,自己去写配置文件。你可以写好一个基础的配置文件,或者使用hibernate示例项目中的配置文件,直接复制粘贴,根据实际情况再增删改。

已采纳回答 / bochyjinan12
请检查一下你的查询方法,是否涉及到了事务Transaction。例如:public static void findGradeByStudent()  {Session session=HibernateUtil.getSession();Student stu=(Student)session.get(Student.class,2);System.out.println(stu.getSid()+”,”+stu.getSname()+”,”+stu.getSex());Grade g=stu.getG...

已采纳回答 / 昧火流金
查询的时候不需要,只有进行数据库内容操作的时候才需要

已采纳回答 / 无动于衷
是指主键的生成策略。第一行是自增长,1,2,3,4,5...........这样。第二行的意思是 主键生成方式会根据不同的底层数据库自动选择,因为数据库有很多种,他们各有差异。像如果使用的是oracle数据库,就会选择sequence(序列)这种方式生成主键。
课程须知
本课程主要讲解Java中Hibernate中的关联映射,需要对Hibernate基本用法、ORM的基本概念、单表映射等相关知识有一定的基础。
老师告诉你能学到什么?
1、Hibernate关联映射的类型 2、单向一对多关联的配置 3、单向多对一关联的配置 4、cascade和inverse属性的作用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消