4

我正在使用休眠 JPA。

假设我有这些课程:

AbstractPerson
|--> ConcreteEmployee
|--> ConcreteCustomer

有没有办法让具体的类有独立的ID?

我正在使用 InheritanceType.TABLE_PER_CLASS。

4

1 回答 1

11

从休眠注释参考指南:

2.2.4.1。每班表

这种策略有很多缺点(尤其是多态查询和关联),在 JPA 规范、Hibernate 参考文档、Hibernate in Action 和许多其他地方都有解释。Hibernate 解决了大多数使用SQL UNION查询实现此策略的问题。它通常用于继承层次结构的顶层:

@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Flight implements Serializable { ... } 

此策略支持一对多关联,前提是它们是双向的。此策略不支持IDENTITY生成器策略:id 必须在多个表之间共享。因此,在使用此策略时,您不应使用AUTOnorIDENTITY

所以恐怕不支持你想要的(我建议使用GenerationType.TABLE)。

于 2010-07-01T17:39:51.047 回答