您的位置:首页 > 编程语言 > Java开发

汤阳光OA系统记录-----Hibernate实体映射

2016-06-08 15:14 561 查看
26集



格式:?属性,本类与?的?

?1 属性名

?2 关联对类型

?3 关系

多对一:
<many-to-one name="" class="" column=""></many-to-one>
一对多(Set):
<set name="">
<key column=""></key>
<one-to-many class=""/>
</set>
多对多(Set):
<set name="" table="">
<key column=""></key>
<many-to-many class="" column=""></many-to-many>
</set>




实例:

public class Role {

private Long id;
private String name;
private String description;
private Set<User> users = new HashSet<User>();

//Get Set方法.............


public class User {
private Long id;
private Department department;
private Set<Role> roles = new HashSet<Role>();

private String loginName; // 登录名
private String password; // 密码
private String name; // 真实姓名
private String gender;// 性别
private String phoneNumber;// 电话号码
private String email;// 电子邮件
private String description;// 说明

//Get Set方法.............


public class Department {
private Long id;
private Set<User> users = new HashSet<User>();
private Department parent;
private Set<Department> children = new HashSet<Department>();

private String name;
private String description;

//Get Set方法.............


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="cn.itcast.oa.domain">

<class name="Role" table="itcast_role">
<id name="id">
<generator class="native" />
</id>
<property name="name" />
<property name="description" />

<!-- users属性,本类与User的多对多 -->
<set name="users" table="itcast_user_role">
<key column="roleId"></key>
<many-to-many class="User" column="UserId"></many-to-many>
</set>
</class>

</hibernate-mapping>


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="cn.itcast.oa.domain">

<class name="User" table="itcast_user">
<id name="id">
<generator class="native" />
</id>
<property name="loginName" />
<property name="password" />
<property name="name" />
<property name="gender" />
<property name="phoneNumber" />
<property name="email" />
<property name="description" />

<!-- department 属性,本类与Department的多对一 -->
<many-to-one name="department" class="Department" column="departmentId"></many-to-one>

<!-- roles属性,本类与Role的多对多 -->
<set name="roles" table="itcast_user_role">
<key column="UserId"></key>
<many-to-many class="Role" column="roleId"></many-to-many>
</set>

</class>
</hibernate-mapping>


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="cn.itcast.oa.domain">

<class name="Department" table="itcast_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" />
</set>

<!-- parent属性,本类与Department(上级)的多对一 -->
<many-to-one name="parent" class="Department" column="parentId"></many-to-one>

<!-- children属性,本类与Department(下级)的一对多 -->
<set name="children">
<key column="parentId"></key>
<one-to-many class="Department" />
</set>

</class>

</hibernate-mapping>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oa系统 java