/xml配置文件/Hibernate的类的配置/User.hbm.xml
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.domain.User" table="sys_user">
<id name="user_id" column="user_id">
<generator class="native"></generator>
</id>
<property name="user_code" ></property>
<property name="user_name"></property>
<property name="user_password"></property>
<property name="user_state"></property>
<!-- 配置多对多的关系 集合 对象是role
name:集合的名字,name="sr"表示User类里有private Set<Role> sr = new HashSet<Role>();
table:中间表的名字
set:key:自己在中间表的外键字段名
set:class:对方的全限定名
set:column:对方在中间表的外键字段名
不需要设置cascade="save-update",因为实际开发中先设置好role,然后设置user,并给user添加/删除/修改role,
而不会在增加user的同时增加role。另外user添加/删除/修改role使用user.getRoleSet.add/remove。
千万不能设置cascade="delete",不然删除一个user会删除其管理的所有role,从而删除这些role管理的所有数据(user和中间表里)。
-->
<set name="sr" table="sys_user_role" >
<key column="wj_user_id"></key>
<many-to-many class="com.domain.Role" column="wj_role_id"/>
</set>
</class>
</hibernate-mapping>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.domain.User" table="sys_user">
<id name="user_id" column="user_id">
<generator class="native"></generator>
</id>
<property name="user_code" ></property>
<property name="user_name"></property>
<property name="user_password"></property>
<property name="user_state"></property>
<!-- 配置多对多的关系 集合 对象是role
name:集合的名字,name="sr"表示User类里有private Set<Role> sr = new HashSet<Role>();
table:中间表的名字
set:key:自己在中间表的外键字段名
set:class:对方的全限定名
set:column:对方在中间表的外键字段名
不需要设置cascade="save-update",因为实际开发中先设置好role,然后设置user,并给user添加/删除/修改role,
而不会在增加user的同时增加role。另外user添加/删除/修改role使用user.getRoleSet.add/remove。
千万不能设置cascade="delete",不然删除一个user会删除其管理的所有role,从而删除这些role管理的所有数据(user和中间表里)。
-->
<set name="sr" table="sys_user_role" >
<key column="wj_user_id"></key>
<many-to-many class="com.domain.Role" column="wj_role_id"/>
</set>
</class>
</hibernate-mapping>