0
我有以下类的结构:Hibernate进行多层次的混合继承策略层次结构
我想生成与休眠以下三个表:
- PlanItem:所有它的属性
- 任务:与所有的属性和它的子属性
- 阶段:其所有在进贡
我试图混合inheritancetypes,但它没有工作:
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class PlanItem {...}
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class Stage extends PlanItem {...}
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class Task extends PlanItem {...}
@Entity
public class HumanTask extends Task {...}
@Entity
public class ProcessTask extends Task {...}
@Entity
public class CaseTask extends Task {...}
我已经与辅助表试验,得到了或多或少的期望的结果:
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public abstract class PlanItem {...}
@Entity
@SecondaryTable(name = "Stage")
public class Stage extends PlanItem {...}
@Entity
@SecondaryTable(name = "Task")
public class Task extends PlanItem {...}
@Entity
@SecondaryTable(name = "Task")
public class HumanTask extends Task {...}
@Entity
@SecondaryTable(name = "Task")
public class ProcessTask extends Task {...}
@Entity
@SecondaryTable(name = "Task")
public class CaseTask extends Task {...}
但我想知道是否有更优雅和简单的解决方案?
谢谢你的回答。在你的链接中,他们说“这个问题的解决方案已经在5.0的代码库中了,我没有预见到这个问题将在4.x中解决。”我使用了Hibernate-core-5.0.2.final.jar,但这个版本的Hibernate也不可行。 – Tim
这就是为什么它没有解决,仍然没有完全实施。 –