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

Hibernate初探之一对多映射

在一对多关联关系中默认有one方维护关联关系,因为是双向一对多关联关系,所以one方需进行两次关联关系的维护
,当在one方设置inverse属性值为true时,反转,即让多方进行关联关系的维护,此时不需要执行update 多方表名(student) set 单方表的主键(多方表中的外键即gid)等于单方某记录的gid值
当sid为值一,sid为值二,,,,(student表中有n个记录则需执行n次操作)这些操作,所以当在one方设置inverse属性值为true时有利于改善系统性能。
在一对多关联关系中默认有one方维护关联关系,因为是双向一对多关联关系,所以one方需进行两次关联关系的维护
,当在one方设置inverse属性值为true时,反转,即让多方进行关联关系的维护,此时不需要执行update 多方表名(student) set 单方表的主键(多方表中的外键即gid)等于单方某记录的gid值
当sid为值一,sid为值二,,,,(student表中有n个记录则需执行n次操作)这些操作,所以当在one方设置inverse属性值为true时有利于改善系统性能。

最新回答 / qq_花间饮水_03185405
班级,学生添加信息有没有输出到控制台,如果没有的话就是你的hibernate配置文件没有<prop key="hibernate.show_sql">true</prop>这一项,
这键盘声听着好爽
这里不少人在Student类中忘了加无参构造方法了吧,哈哈~~人家老师偷偷加上去了,所以你运行报错
完结,我撒不出来花了
痛苦。。。。。。
不出所料,成功的失败了
一口气看完了 真不错

最赞回答 / soputasmile
你可以试验一下多对多关系,比如student和teacher,新增一个中间表tea_stu,如果你把student和teacher都互相添加对方的引用,并且set的inverse属性都设置为true,tea_stu并不会自动添加外键所谓的维护关联就是维持外键关联,然而如果把inverse都设为true,那么就是双方都不维护关联关系,所以不会自动添加外键。我这个不是提问,是纠错,建议看一下这篇文章https://www.mkyong.com/hibernate/inverse-true-example-an...
感觉老师讲的inverse的理解有问题,inverse表示是否将控制权交给对方,为true表示交给对方,自己变成被空方。在一对多中,在一方设置inverse为true的话,g.add(stu),session.save(g),设置级联为save-update,在数据库中学生的外键其实为空,也就是说,其实在一方设置inverse为true,实际上是表示由多方维护关系,而g.add(stu)是多方在执行,所以没有维护

最新回答 / Li中清
<...图片...>老师配置的时候是用的test数据库,在反向工程中用的Imooc数据库应该是 数据源 
数据表明明可以生成,干嘛还要多此一举,害得我又重新看一遍以前视频来证明老师你是屋外下雨屋里打伞,希望看到的同学注意到这点相信我,玩王者荣耀的我只会吐槽了,还要谢谢老师
课程须知
本课程主要讲解Java中Hibernate中的关联映射,需要对Hibernate基本用法、ORM的基本概念、单表映射等相关知识有一定的基础。
老师告诉你能学到什么?
1、Hibernate关联映射的类型 2、单向一对多关联的配置 3、单向多对一关联的配置 4、cascade和inverse属性的作用

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消