Hibernate众所周知是比较出名的ORM框架.但对于多对多的情况下,基本上有2中解决方案.
其一.多对多.
java 代码
- "roles" table="COM_ROLE_USER">
- <key></key>
- "USER_ID" precision="15" scale="0" not-null="true" />
- class="mypact.model.ComRole" column="ROLE_ID"/>
其二.拆分为2个一对多的关系.
对于第一种,存在着一个比较难处理的问题.例举一个例子来说.用户表与角色表之间多对多关联.其中用"COM_USER_ROLE"作为对照表,如需要删除用户表数据,那么应该级联删除"COM_USER_ROLE"的关系.如采用第一种方案,那么这个问题就比较难处理了,除非底层数据库支持级联删除功能.