我遇到过这样的情况:我需要两个类具有相同的字段,但行为略有不同,其中一个类拥有其他字段,但另一个类没有,所以问题是:我是否必须映射派生类没有特殊领域吗? 这是一个例子,假设我有类 A 和类 B,两者都必须有一些集合(例如 C 对象)和一些其他字段 D,所以我创建抽象类 AB,这是它们的父类,而类 B 也有字符串字段,A 类 - 没有,它们都是 M 的后代,具有 someMethod():
abstract class M {
//fields, getters, etc
public void someMethod(){
//doSmth
}
}
abstract class AB extends M {
private D d;
private Set<C> cs;
//getters, setters, etc
}
class A extends AB{
@Override
public void someMethod(){
for(C c : cs){
//doSmth
}
}
}
class B extends AB {
private String text;
//getters etc
}
所以,我绝对应该映射 M、AB 和 B,但是我应该映射 A 吗?
附注我们使用 xml 映射
最佳答案
如果你希望 Hibernate 返回给你 List<A>
作为查询结果,是的,您需要映射 A
.
关于java - 没有字段的派生类的 Hibernate 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42066795/