Hibernate 菜鸟教程 12 继承 Join策略
2016-11-20 23:05
295 查看
GitHub
模型对象
父类Employee
public class Employee { private Long id; private String name;
子类HourlyEmployee
public class HourlyEmployee extends Employee { private Double rate;
子类SalariedEmployee
public class SalariedEmployee extends Employee { private Double salary;
映射文件Employee.hbm.xml
<class name="Employee" table="t_employee"> <id name="id"> <generator class="native" /> </id> <property name="name" /> <!-- 在配置子类 --> <joined-subclass name="HourlyEmployee" table="t_HourlyEmployee"> <key column="id"/> <property name="rate" /> </joined-subclass> <joined-subclass name="SalariedEmployee" table="t_SalariedEmployee"> <key column="id"/> <property name="salary" /> </joined-subclass> </class>
测试对象MainTest
public class MainTest { Session session = null; @Before public void save() { session = HibernateUtils.INSTANCE.getSession(); session.beginTransaction(); Employee employee = new Employee("jege"); HourlyEmployee hourlyEmployee = new HourlyEmployee(); hourlyEmployee.setName("hourly"); hourlyEmployee.setRate(200D); SalariedEmployee salariedEmployee = new SalariedEmployee(); salariedEmployee.setName("salaried"); salariedEmployee.setSalary(300D); session.save(employee); session.save(hourlyEmployee); session.save(salariedEmployee); } @Test public void get() { Employee employee = (Employee) session.get(Employee.class, 1L); System.out.println(employee.getName()); HourlyEmployee hourlyEmployee = (HourlyEmployee) session.get(HourlyEmployee.class, 2L); System.out.println(hourlyEmployee.getName()); System.out.println(hourlyEmployee.getRate()); SalariedEmployee salariedEmployee = (SalariedEmployee) session.get(SalariedEmployee.class, 3L); System.out.println(salariedEmployee.getName()); System.out.println(salariedEmployee.getSalary()); } @After public void colse() { session.getTransaction().commit(); session.close(); } }
源码地址
https://github.com/je-ge/hibernate如果觉得我的文章或者代码对您有帮助,可以请我喝杯咖啡。
您的支持将鼓励我继续创作!谢谢!
相关文章推荐
- Hibernate 菜鸟教程 11 继承 Single Table策略
- Hibernate 菜鸟教程 14 继承 PerTable策略
- Hibernate 菜鸟教程 13 继承 鉴别器与内连接相结合
- Hibernate 菜鸟教程 3 单表操作
- Java的Hibernate框架中的继承映射学习教程
- Hibernate 菜鸟教程 4 单向多对一
- Hibernate教程02——类继承(单表继承)
- Hibernate教程03——类继承(每个类一张表)
- Java程序员从笨鸟到菜鸟之(五十五)细谈Hibernate(六)Hibernate继承关系映射
- Hibernate 菜鸟教程 2 创建maven工程
- Java程序员从笨鸟到菜鸟之(五十五)细谈Hibernate(六)Hibernate继承关系映射
- Hibernate 菜鸟教程 15 一级缓存
- 传智播客Hibernate视频教程学习笔记10 11 12 13
- Hibernate 菜鸟教程 9 自关联
- Hibernate 菜鸟教程 10 组成关系
- Hibernate 菜鸟教程 5 双向多对一
- Java程序员从笨鸟到菜鸟之(五十五)细谈Hibernate(六)Hibernate继承关系映射
- Java程序员从笨鸟到菜鸟之(五十五)细谈Hibernate(六)Hibernate继承关系映射
- swift菜鸟入门视频教程-12-21讲
- swift菜鸟入门视频教程-12-21讲