当 List 类型是接口(interface)时,我无法创建映射。看起来我需要创建一个抽象类并使用鉴别器列是这种情况吗?我宁愿不必,因为抽象类将只包含一个抽象方法,我宁愿只保留接口(interface)。
我有一个界面,我们可以称它为 Account
public interface Account {
public void doStuff();
}
现在我有两个 Account 的具体实现者 OverSeasAccount 和 OverDrawnAccount
public class OverSeasAccount implements Account {
public void doStuff() {
//do overseas type stuff
}
}
和
public class OverDrawnAccount implements Account {
public void doStuff() {
//do overDrawn type stuff
}
}
我有一个名为 Work with a List 的类(class)
private List<Account> accounts;
我正在查看鉴别器字段,但我似乎只能对抽象类执行此操作。是这样吗?任何指针表示赞赏。我可以为接口(interface)使用鉴别器吗?
最佳答案
我认为可以使接口(interface)成为映射的父类(super class)型。但是,您可能无法使用注释。注释与 xml 配置文件配合得很好,因此您可能必须使用所需的映射将 hibernate 配置文件添加到项目中。但是您将能够保留项目其余部分的注释。
This问题讨论更多。它似乎以关于如何使用注释来完成的建议结束,所以谁知道呢。我建议 xml 现在仍然更安全这 page的文档解释了所需的 xml 映射。
关于java - JPA 映射接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/281503/