1
如何在同一繼承樹中將單表類型繼承與連接表類型混合? 我沒有使用hibernate只是JPA。 我知道沒有官方支持混合繼承閱讀JPA規範。 我無法更改架構。它確實與hibernate一起工作,但現在我需要使用openjpa來實現這一點。 我正在尋找一些解決方法。如何在JPA中混合繼承類型
如何在同一繼承樹中將單表類型繼承與連接表類型混合? 我沒有使用hibernate只是JPA。 我知道沒有官方支持混合繼承閱讀JPA規範。 我無法更改架構。它確實與hibernate一起工作,但現在我需要使用openjpa來實現這一點。 我正在尋找一些解決方法。如何在JPA中混合繼承類型
,這是爲我工作:
超類:
@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "TYPE_DISCRIMINATOR")
public class A extends SomeClass implements SomeInteface {
…
@Id
@Column(name = "ID", nullable = false, precision = 0)
public Integer getPk() {
return super.getPk();
}
…
注意 「SomeClass的」 不是一個實體。
子類 - 「加盟」 繼承:
@Entity
@SecondaryTable(name = "A_SECOND_TABLE", pkJoinColumns = @PrimaryKeyJoinColumn(name ="ID"))
@DiscriminatorValue("BD")
public class B extends A implements SomeIntefaceB {
…
創建新表 「A_SECOND_TABLE」 與加入的超類主鍵 「ID」。 未在連接列,並出現在我們的餐桌的每個字段被標記這樣的:
@Basic
@Column(table = "A_SECOND_TABLE", name = "STATUS", nullable = false, precision = 0)
通知表中的值。
子類 - 單表繼承:
@Entity
public class C extends A implements SomeIntefaceC {...
簡單的單表繼承。
您需要添加一些上下文。你能發佈你正在嘗試的代碼嗎? – bradimus
JPA很清楚地告訴你在樹的根目錄中指定繼承策略,這就是全部。你究竟能如何「混合」這個約束? –