dept配置文件
<?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> <class name="entity.Dept" table="dept"> <id name="did" column="did "> <generator class="sequence"> <param name="sequence"> seq_dept </param> </generator> </id> <property name="deptName"></property> <!-- 这个属性不要写错了是property --> <!-- 配置一对多集合映射 --> <!--name是Dept类中的集合名 key 用来描述外键 column:外键的值(emp表) --> <set name="empSet" cascade="save-update" inverse="true" order-by="EID DESC"> <key column="DEPTID"></key> <one-to-many class="entity.Emp"/> <!-- one-to-mony 表达,Customer与orders的关系是一对多 一个部门对应对个员工,所以many后面跟的是Emp这个实体类 --> </set> </class> </hibernate-mapping> emp配置文 <?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> <class name="entity.Emp" table="Emp"> <id name="eid" > <generator class="sequence"> <param name="sequence">seq_emp</param> </generator> </id> <property name="empName"></property> </class> </hibernate-mapping> dept实体类 package entity; import java.io.Serializable; import java.util.HashSet; import java.util.Set; /* * hibernate实体类 */ public class Dept implements Serializable { private Integer did; private String deptName; //增加关联集合属性(一对多)//在1的一方,表达持有多的一方的引用=》使用集合(一个部门有多个人员)(这个在一对多的时候用的。比如查找某个部门下的员工) private Set<Emp> empSet=new HashSet<Emp>() ;//查找某个员工在那个部门用不到这个(多对一) public Dept() { super(); // TODO Auto-generated constructor stub } public Dept(Integer did, String deptName, Set<Emp> empSet) { super(); this.did = did; this.deptName = deptName; this.empSet = empSet; } public Integer getDid() { return did; } public void setDid(Integer did) { this.did = did; } public String getDeptName() { return deptName; } public void setDeptName(String deptName) { this.deptName = deptName; } public Set<Emp> getEmpSet() { return empSet; } public void setEmpSet(Set<Emp> empSet) { this.empSet = empSet; } } emp实体类 package entity; import java.io.Serializable; public class Emp implements Serializable { private Integer eid; private String empName; //private Dept dept; 外键,在这里不用这,直接管理另一个类的属性 private Dept dept;//关联属性 public Emp(){ } public Emp(Integer eid, String empName, Dept dept) { super(); this.eid = eid; this.empName = empName; this.dept = dept; } public Integer getEid() { return eid; } public void setEid(Integer eid) { this.eid = eid; } public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName; } public Dept getDept() { return dept; } public void setDept(Dept dept) { this.dept = dept; } } 测试类 测试类 package Test; import org.hibernate.Session; import entity.Dept; import entity.Emp; import Util.HibernateUtil; public class Test { public static void main(String[] args) { Session session = HibernateUtil.currentSesion(); Dept dept = (Dept) session.load(Dept.class, 3); System.out.println(dept.getDeptName()+"所包含员工如下:"); for (Emp e : dept.getEmpSet()) { System.out.println(e.getEmpName()); } } }