组成关系
在一个员工模型里面需要存入
员工公司所在地址的城市,街道
员工籍贯所在的城市,街道,
此时可以抽取城市,街道变成一个模型即是组成关系
Employee
public class Employee {
private Long id;
private String name;
// 公司的地址
private Address comAddress;
// 籍贯所在地
private Address homeAddress;
Employee.hbm.xml
<class name&#61;"Employee" table&#61;"t_employee">
<id name&#61;"id">
<generator class&#61;"native" />
id>
<property name&#61;"name" />
<component name&#61;"comAddress" class&#61;"Address">
<property name&#61;"city" column&#61;"com_city" />
<property name&#61;"street" column&#61;"com_street" />
component>
<component name&#61;"homeAddress" class&#61;"Address">
<property name&#61;"city" column&#61;"home_city" />
<property name&#61;"street" column&#61;"home_street" />
component>
class>
MainTest
public class MainTest {
Session session &#61; null;
&#64;Before
public void save() {
session &#61; HibernateUtils.INSTANCE.getSession();
session.beginTransaction();
Address comAddress &#61; new Address("bj", "st1");
Address homeAddress &#61; new Address("sh", "st2");
Employee employee &#61; new Employee("user");
employee.setComAddress(comAddress);
employee.setHomeAddress(homeAddress);
session.save(employee);
}
&#64;Test
public void get() throws Exception {
Employee employee &#61; (Employee) session.get(Employee.class, 1L);
System.out.println(employee);
System.out.println(employee.getComAddress());
System.out.println(employee.getHomeAddress());
}
&#64;After
public void colse() {
session.getTransaction().commit();
session.close();
}
}
源码地址
https://github.com/je-ge/hibernate
如果觉得我的文章对您有帮助,请予以打赏。您的支持将鼓励我继续创作!谢谢&#xff01;