我有以下3個實體:JPA可以處理接口引用嗎?
- 實體類A實現了接口X
- 實體類B實現接口X
- 實體C類
在那裏我可以喜歡實體類C到能夠持有對X型實體的引用,即:A或B.
是否有可能在沒有兩個參考f在C中使用,如:
@ManyToOne private C parent;
或者我需要爲C的每個實現都有一個參考,並且自己做這個任務嗎?
我有以下3個實體:JPA可以處理接口引用嗎?
在那裏我可以喜歡實體類C到能夠持有對X型實體的引用,即:A或B.
是否有可能在沒有兩個參考f在C中使用,如:
@ManyToOne private C parent;
或者我需要爲C的每個實現都有一個參考,並且自己做這個任務嗎?
不是。 JPA沒有爲接口類型的字段/屬性定義持久性。 JDO是唯一允許這樣做的持久性規範。
你所能做的只有一個共同的基類,但這對你的模型來說可能是不可能的。
未在JPA規範中定義,但如果使用EclipseLink,則可以對此使用@VariableOneToOne映射。
請參閱: http://en.wikibooks.org/wiki/Java_Persistence/Advanced_Topics#Interfaces