Hibernate的many-to-many双向关联需要注意的要求及简单示例

来源:互联网 发布:糊奔奔扒皮知乎 编辑:程序博客网 时间:2024/05/17 03:11

 

在做hbiernate的many-to-many的双向关联时,需要了解的几点:

 

一方要设置inverse="true",另一方要设置inverse="false"。inverse="false"的一方保存时,维护多对多之间的关系,且只要将相互的关系告诉这一方即可。

 

如果inverse都设置为true,双方的关系将都不到维护。

 

如果都设置为false,双方将共同维护之间的关系,这时,要将双方的包含关系都要设置清楚,否则将会导致关系维护混乱。

 

如果设置了casade="save-update",只能设置一方,如果双方都设置的话,当更新一方的时候,同时会更新另一方,另一方的更新又会导致一方的更新。

 

下例是一个多对多的代码演示,一个演员可以演多个角色,相反一个角色也可以由多个演员来演:

 

第一步:先间两个JavaBean类

 

 

第二步配置其hbm.xml文件:EmployeePO.hbm.xml配置

 

 

RolePO.hbm.xml配置


 

 

第三步配置映射文件hibernate.cfg.xml

 

 

 

第四步写一个DAO

 

 

 

第五步测试: