java代码
EMP类和Dept类省略。
EMP类里面维护一个Dept类
Dept类里面维护一个Set<EMP>的集合
package Demo;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class App {
public static SessionFactory sf;
static{
sf = new Configuration()
.configure()
.buildSessionFactory();
}
public static void main(String[] args) {
Session session = sf.openSession();
session.beginTransaction();
//部门对象
Dept dept = new Dept();
dept.setDeptName("人事部");
//员工对象
EMP emp_zs = new EMP();
emp_zs.setEmpName("王五");
EMP emp_ls = new EMP();
emp_ls.setEmpName("马六");
/*dept.getEmps().add(emp_zs);
dept.getEmps().add(emp_ls);
session.save(emp_zs);
session.save(emp_ls);
session.save(dept);*/
emp_zs.setDept(dept);
emp_ls.setDept(dept);
session.save(dept);
session.save(emp_zs);
session.save(emp_ls);
session.beginTransaction().commit();
session.close();
}
}
XML-EMP部分
<?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">
<hibernate-mapping package="Demo">
<class name = "EMP" table ="t_EMP">
<id name = "empId">
<generator class="native" />
</id>
<property name="empName"></property>
<property name="salary" type = "double"></property>
<many-to-one name="dept" column="deptId" class="Dept"></many-to-one>
</class>
</hibernate-mapping>
XML-Dept部分
<?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">
<hibernate-mapping package="Demo">
<class name = "Dept" table = "t_Dept">
<id name = "deptId">
<generator class="native" />
</id>
<property name="deptName" length="20"></property>
<set name = "emps" table="t_EMP">
<key column="deptId"></key>
<one-to-many class = "EMP"/>
</set>
</class>
</hibernate-mapping>