hibernate对象关系实现多对多实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate对象关系实现多对多实现相关的知识,希望对你有一定的参考价值。

单向n-n:(catogory-item)一个类别对应多个条目,一个条目对应多个类别

a.以类别类中有条目的集合的引用为例:

技术分享技术分享

b.数据库中的体现:建立一个新表,以类别和条目的主键关联的外键做新表的联合主键。

技术分享

c.映射配置:在类别表中配置外键映射关系

技术分享

 

技术分享

d测试:

保存

技术分享技术分享

   将执行四条插入语句将种类和条目插入后再执行四条插入语句将关联关系插入category_item目表;

获取:

技术分享

获取类别关联对象集合是延迟加载的;

获取条目集合数据时候,采用内连接的方式,即关系表和条目表的内连接,

 

二。对于双向的多对多,在单向的基础上添加

a.表中条目类添加类别的集合引用:

技术分享

c.条目映射表添加映射关系:

技术分享

特别注意双向多对多,一方<set>元素中需要设置inverse=true;只由一方来维护关联关系,否则出现主键冲突(因为会出现重复插入记录),

                 上面配置没有添加了,需添加上

技术分享

 

以上是关于hibernate对象关系实现多对多实现的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate的多对多关联关系

Hibernate学习8—Hibernate 映射关系(多对多)

Hibernate:n-n关联关系

Hibernate多对多关系映射

框架 day32 Hibernate,一级缓存,关联关系映射(一对多,多对多)

关联映射 ---- Hibernate之多对多关系