user.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="cn.itcast.domain" >
<class name="User" table="sys_user" >
<id name="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>
<!-- 多对多关系表达 -->
<!-- cascade级联操作:
save-update: 级联保存更新
delete:级联删除
all:级联保存更新+级联删除
结论: cascade简化代码书写.该属性使不使用无所谓. 建议要用只用save-update.
如果使用delete操作太过危险.尤其在多对多中.不建议使用.
-->
<!-- set
name:关联的一方的集合的属性名称
table:中间表的名称
-->
<set name="roles" table="sys_user_role" cascade="save-update" >
<!-- key
column:当前对象在中间表的外键的名称
-->
<key column="user_id" ></key>
<!--
class:关联的一方的类的全路径
column:关联的一方在中间表的外键名称
-->
<many-to-many class="Role" column="role_id" ></many-to-many>
</set>
</class>
</hibernate-mapping>