【发布时间】:2015-10-08 04:18:05
【问题描述】:
比方说,我有一个类 Employee 与字段 employeeId 和 name。这是由另一个类PermanentEmployee 继承的,其字段为salary 和experience。我使用了@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)。
据我了解,它将创建两个表。一个用于父类,有两列 employeeId 和 name。另一个包含四列的子类表。那是name,employeeid,salary 和experience。
当我尝试使用所有四个值来持久化子对象(永久雇员)时,它正在插入子表中。 仅在子表中。它没有插入到父表中。
[1] 这是默认行为吗?还是我错过了什么?我需要像@OneToOne 映射这样的实体关系吗?
[旁注] 我也试过@Inheritance(strategy = InheritanceType.JOINED)。这次使用每个子类的表,它为它们创建两个表和外键关系。并将其插入两个表中。
【问题讨论】:
标签: java hibernate inheritance