Employee.java
package com.model;
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;
}
}
Department.java
package com.model;
import java.util.HashSet;
import java.util.Set;
public class Department {
private int id;
private String name;
private Set<Employee> es = new HashSet<Employee>();
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;
}
public Set<Employee> getEs() {
return es;
}
public void setEs(Set<Employee> es) {
this.es = es;
}
}
Employee.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- ORM映射文件 -->
<hibernate-mapping package="com.model">
<class name="Employee" table="employee">
<id name="id" column="id">
<generator class="native"></generator>
</id>
<property name="name" column="name"></property>
</class>
</hibernate-mapping>
Department.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- ORM映射文件 -->
<hibernate-mapping package="com.model">
<class name="Department" table="department">
<id name="id" column="id">
<generator class="native"></generator>
</id>
<property name="name" column="name"></property>
<set name="es">
<key column="deptId"></key>
<one-to-many class="Employee"></one-to-many>
</set>
</class>
</hibernate-mapping>
单元测试:
@Test
public void t(){
Session session = HibernateUtil.getInstance().getSession();
session.beginTransaction();
/*Department d = new Department();
d.setName("d1");
session.save(d);
Employee e = new Employee();
e.setName("e1");
session.save(e);
d.getEs().add(e);*/
Department d = (Department) session.load(Department.class, 1);
System.out.println(d.getEs().iterator().next().getName());
session.getTransaction().commit();
session.close();
}