0
我有這種奇特層次結構:休眠inheritacne JOINED + TABLE PER CLASS
- 類
A
是抽象的(但它是一個實體) - 類
B
(摘要)和C二者延伸A
類(TABLE_PER_CLASS) 。 - 類
B
也擴展了類D
和E
,但這次它被加入。
我想A
類的ID
是所有其他人的ID
。
可以這樣做嗎?
我收到奇怪的ID錯誤。任何人都可以告訴我如何映射?
這是我如何做到了:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class A {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
protected Integer id;
}
C類:
@Entity
@Table(name = "managers")
public class C extends A {
B類:
@Entity
@Table(name = "bb")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "discriminator", discriminatorType = DiscriminatorType.STRING)
public abstract class B extends A {
類C,d:
@Entity
@Table(name = "cc"/"dd")
@DiscriminatorValue("CC"/"DD")
public class C (or D) extends B {
你看過了[混合連接和表具體類繼承](http://stackoverflow.com/questions/5977717/mixing-joined-and-table-per-concrete-class-inheritance)? –