多对一 | <many-to-one name=“” class=“” column=“”/> |
一对多 (Set) | <set name=""> <key column=""></key> <one-to-many class=""/> </set> |
多对多 (Set) | <set name="" table=""> <key column=""></key> <many-to-many class="" column=""/> </set> |
Demo
<!-- department 属性 本类与Department是多对一关系-->
<many-to-one name="department" class="Department" column="departmentId"></many-to-one>
<!-- roles属性 本类与Role多对多的关系 -->
<set name="roles" table="user_role">
<key column="userId"></key>
<many-to-many class="Role" column="roleId"></many-to-many>
</set>
<!-- users 属性 本类与User是一对多关系-->
<set name="users">
<key column="departmentId"></key>
<one-to-many class="User" ></one-to-many>
</set>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="david.oa.domain">
<class name="Department" table="department">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<property name="description"/>
<!-- users 属性 本类与User是一对多关系-->
<set name="users">
<key column="departmentId"></key>
<one-to-many class="User" ></one-to-many>
</set>
<!-- parent属性 本类与parent属性是多对一关系 -->
<many-to-one name="parent" class="Department" column="parentId"></many-to-one>
<!-- children属性 本类与children属性是一对多关系 -->
<set name="children">
<key column="parentId"></key>
<one-to-many class="Department" />
</set>
</class>
</hibernate-mapping>