例如:部门与员工的关系(部门中存在一个员工集合的引用)
部门
package com.chris.entity;
import java.util.Set;
/**
* 部门
* @author Administrator
*
*/
public class Department {
private int id;
private String name;
private Set<Employee> employees;
public Set<Employee> getEmployees() {
return employees;
}
public void setEmployees(Set<Employee> employees) {
this.employees = employees;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
员工
package com.chris.entity;
/**
* 员工
* @author Administrator
*
*/
public class Employee {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
员工映射文件:
<?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="com.chris.entity">
<class name="Employee">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
</class>
</hibernate-mappin
部门映射文件:
<?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="com.chris.entity">
<class name="Department">
<id name="id">
<generator class="native"/>
</id>
<property name="name" unique="true"/>
<set name="employees">
<!-- key指定了在Employee表中插入一个外键来进行关联 -->
<key column="department_id"/>
<!-- class属性中指定集合中的类型 -->
<one-to-many class="Employee"/>
</set>
</class>
</hibernate-mapping>
本文介绍了一种通过Java实体类实现部门与员工之间的一对多关系映射的方法,并提供了具体的部门和员工类定义及相应的Hibernate XML映射文件示例。

被折叠的 条评论
为什么被折叠?



