many-to-one單向關聯對映
阿新 • • 發佈:2019-02-19
Employee.java
package com.model; public class Employee { private int id; private String name; private Department dept; 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 Department getDept() { return dept; } public void setDept(Department dept) { this.dept = dept; } }
Department.java
package com.model;
public class Department {
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;
}
}
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> <many-to-one name="dept" column="deptId"></many-to-one> </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> </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");
e.setDept(d);
session.save(e);*/
Employee e = (Employee) session.get(Employee.class, 1);
System.out.println(e.getDept().getName());
session.getTransaction().commit();
session.close();
}