两张表:Tuser,Trole,关联表伟user_role。
Tuser配置多对多的配置如下:
<set name="roles" table="user_role" cascade="save-update" inverse="false">
<key column="uid" />
<many-to-many class="com.bean.Trole" column="rid" />
</set>
应为这两张表之间参数关系主要是增加用户的时候,需要给用户角色,所以,让用户为关系的主控方
Trole配置多对多的配置如下:
<set name="users" table="user_role" inverse="true">
<key column="rid" />
<many-to-many class="com.bean.Tuser" column="uid" />
</set>
这样的配置,当用session.delete(tuser)删除一个用户的时候,关联表中的关联关系也会被删除,但是角色不会被删除,如果把Tusr的配置文件的casacde=“all”,则这个时候,角色也会被删除
另外,如果用 session.createQuery("delete Tuser where ...."),则这个时候,执行hql的时候,不会删除关联表,应该是没有使用配置文件的策略