1
我想知道是否有任何意義(或者即使它是正確的)用@Inheritance註解每一個層次結構的類。例如,假設我們有以下簡單的層次結構:將JPA的2.0 @Inheritance註釋用於子類是否有意義?
public class A { ... }
public class B extends A { ... }
public class C extends A { ... }
爲了保存這些類的對象,我們就標註A類如下:
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class A { ... }
我的問題是,我們需要將@Inheritance註釋添加到類B和C也?正如Javadoc所說「它是作爲實體類層次結構的根的實體類指定的。」所以我的潛在答案是,不!但是,如果我們對它們進行註釋,這是否有任何意義,還是完全被忽略?
感謝
只是爲了澄清一點。我已經用InheritanceType.JOINED註釋了基類。我的問題是:是否有效/合法/有意義的還註釋一個子類,也許選擇另一個繼承類型(例如InheritanceType.TABLE_PER_CLASS)? – gpol
如果您想爲Subclass1使用JOINED,爲Subclass2使用TABLE_PER_CLASS,則應該爲每個子類添加註釋。另外,不需要向超類添加註釋。 如果您爲超類添加註釋,則所有沒有註釋的子類都應該使用它。 –
所以,如果我用JOINED註解類A,根據你說的我應該有的類B留下類B和註釋類C: – gpol