hibernate关联关系之多对多
多对多的关系可以看成是两个一对多
多对多配置:
导入TreeNode.hbm.xml,book.hbm.xml,category.hbm.xml
在hibernate中映射这几个文件
TreeNode.hbm.xml:
配置好之后在TreeNodeDaoTest进行测试:
测试结果:
在配置book.hmb.xml
标签介绍:
table:对应的是中间类
中间表不需要实体类 意味着靠两张主表对应的映射文件联合管理
name:当前映射文件对应的实体类属性
cascade:级联新增修改,就是当前实体类对应的表删除能否影响到关联表的数据,删除一张表会删除所有对应表的数据
inverse:中间表的数据维护交给对方
key标签:
colum:当前表t_hibernate_book的主键book_id在中间表的列段
many-to-many:
colum:代表中间表对应的表除去当前表t_hibernate_book的非主键的中间表列段
class:cld对应的类
然后在bookdaotest进行测试,
* book.hbm.xml inverse=true
* category.hbm.xml inverse=true
* 只增加书籍表数据
* 桥接表不加数据
* 原因:双方都没有去维护关系
数据库的数据也添加进去:
* book.hbm.xml inverse=true
* category.hbm.xml inverse=true
* 只增加书籍表数据
* 桥接表不加数据
* 原因:双方都没有去维护关系
桥接表的数据并没有变化
谢谢观看