- 一个公司只能有一个地址,一个地址也只能有一个公司,这就是一对一
- 以公司Company和地址Address为案例讲解
- 公司和地址的数据模型
2.1、一对一(外键)配置
@Test public void test2(){ Session session = HibernateUtils.openSession(); session.beginTransaction();
Company company = new Company(); company.setName("郭永峰IT教育");
Address address = new Address(); address.setName("广州天河软件园");
address.setCompany(company);
session.save(company); session.save(address);
session.getTransaction().commit(); session.close(); }
@Test public void test3(){ Session session = HibernateUtils.openSession(); session.beginTransaction();
//加载数据 Company company = (Company) session.get(Company.class, 2); System.out.println(company.getName() + ":" + company.getAddress().getName());
Address address = (Address) session.get(Address.class, 1); System.out.println(address.getCompany().getName() + ":" + address.getName());
session.getTransaction().commit(); session.close(); } |
2.2、一对一 (主键) 配置