我希望有人能幫我弄清楚我在用hibernate時遇到的一個問題。休眠與接口的關聯
我正在開發一個可以開發不同類型的實體的計費系統。這些實體實現了「Invoicable」界面。
在我的發票類我有這條線
@ManyToOne(fetch = FetchType.EAGER)
private Invoiceable responsibleEntity;
的開票界面看起來像這樣
@MappedSuperclass
public interface Invoiceable
{
// Name to display as entity responsible
String getInvoiceOwnerName();
// Get email address to send invoice
String getInvoiceOwnerEmail();
}
我得到一個例外,當我運行這個
組織。 hibernate.AnnotationException:@OneToOne或@ManyToOne在models.Invoice.responsibleEntity引用一個未知實體:interfaces.Invoiceable
我試過用Google搜索和閱讀一些類似的帖子,但我什麼都不能上班。 hibernate是否支持這種類型的映射?
謝謝
您能否總結這裏的關鍵點?堆棧溢出通常不會歡迎只不過是鏈接到另一個資源的答案。此外,鏈接有時會中斷。 –
@ mh-dev我確實讀過了這篇文檔,但我看不到如何使用界面。它實際上表示那裏的接口不支持註釋。由於我的實體不是來自同一個基類,我不明白我能做到這一點。我必須找到另一種方式。 – FMC
我擴展了答案,但請記住,繼承策略會對性能產生影響。所以請仔細閱讀文檔。 –