我希望有人能帮我弄清楚我在用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
我扩展了答案,但请记住,继承策略会对性能产生影响。所以请仔细阅读文档。 –