Hibernate多对多映射

以前做过使用JPA注解实现多对多映射的示例,在这里使用配置文件再做个小示例。仍然以角色(Role)和权限(Privilege)为例演示:

Role.java

Privilege.java

Role.hbm.xml

 

Privilege.hbm.xml

hibernate.cfg.xml

测试代码:

Hibernate生成结果:

Hibernate: select hibernate_sequence.nextval from dual
Hibernate: select hibernate_sequence.nextval from dual
Hibernate: select hibernate_sequence.nextval from dual
Hibernate: select hibernate_sequence.nextval from dual
Hibernate: insert into t_privilege (name, id) values (?, ?)
Hibernate: insert into t_privilege (name, id) values (?, ?)
Hibernate: insert into t_role (name, id) values (?, ?)
Hibernate: insert into t_role (name, id) values (?, ?)
Hibernate: insert into t_role_privilege (role_id, privilege_id) values (?, ?)
Hibernate: insert into t_role_privilege (role_id, privilege_id) values (?, ?)
Hibernate: insert into t_role_privilege (role_id, privilege_id) values (?, ?)

 

SQL> select * from t_role;

        ID NAME
---------- ----------
       330 Role1
       331 Role2

SQL> select * from t_privilege;

        ID NAME
---------- ----------
       328 Privilege1
       329 Privilege2

SQL> select * from t_role_privilege;

   ROLE_ID PRIVILEGE_ID
---------- ------------
       330          328
       330          329
       331          328

 

注意:Role.hbm.xml中通过inverse="false"来设置关联关系由role维护,Role和Privilege只能有一个将inverse字段设置成false。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值