我最近试图介绍一些我的hibernate映射实体的接口,但无法弄清楚如何配置映射。不使用注释参数的Hibernate接口映射“targetEntity”
当我使用的接口没有任何进一步声明,我总是得到以下异常:
org.hibernate.MappingException: Could not determine type for: ...MyInterface
然后我发现一切正常,当我明确定义targetEntity:
@OneToOne(targetEntity=InterfaceImpl.class)
private MyInterface myInterface;
不幸的是,这个解决方案在我的情况下不起作用:我不能通过注释来定义targetEntity,因为我想将这个类提取到一个不包含甚至不知道接口的最终实现的公共外部库。
那么是否有另一种方法来声明应该使用哪个实现,以便我可以在提取的库之外使用?
好主意,技术上。不幸的是,我真的需要接口。抽象超类不会这样做,因为我需要多继承来使它们适合我的需求。用户(见上面的例子)应该能够实现多个接口。例如,他既是博客文章的作者,也是评论的作者。我没有提到这一点。抱歉。 – Pumuckline 2013-03-11 16:04:48