2014-02-18 150 views
0

是否可以在不同的層次結構中使用@Inheritence註解和不同的策略?對子實體層次結構的JPA繼承註釋

Inheritence strategy hierarchy

The inheritance strategy and the discriminator column are only specified in the root of an entity class 
hierarchy or subhierarchy . 

,但允許不同的策略?

回答

0

在單個實體繼承層次結構中混合繼承策略不是受支持的JPA配置。 JPA規範指出:

本規範未定義單個實體繼承層次結構中繼承策略的組合。

+0

所以最終的結果是否定或支持任何衝突。 – hiddenuser

+1

正確的JPA沒有定義行爲。一個實現者可以定義一個行爲,但是使用這種行爲是不可移植的。 – cmd

0

我不這麼認爲,如果我錯了,請糾正我。您可以使用mixed-inheritance以相同的層次應用不同的策略。在您的子類定義之前使用

@SecondaryTable(
name = "SUBTABLE", 
pkJoinColumns = @PrimaryKeyJoinColumn(name = "SUB_TABLE_ID"); 

。使用這個,你申請例如SINGLE_TABLE策略並且分開了子類表。