java - 没有字段的派生类的 Hibernate 映射

标签 java xml hibernate inheritance

我遇到过这样的情况:我需要两个类具有相同的字段,但行为略有不同,其中一个类拥有其他字段,但另一个类没有,所以问题是:我是否必须映射派生类没有特殊领域吗? 这是一个例子,假设我有类 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/

相关文章:

java - 对象状态可以从分离状态变为 transient 状态吗

java - 无法创建 AmazonS3Client 对象

java - 字节数组到图像对象

xml - ASP.NET 网络 API : XMLFormatter thinks he can write Json-objects

python - 如何提取 XML 特定值字段并列出它们?

hibernate - 在排序闭包中,如何最后获取空值?

java - Mysql 连接器在 com.mysql.jdbc.util.ReadAheadInputStream.fill() 中花费了 50% 的时间

java - StreamTokenizer 将 001_to_003 拆分为两个 token ;我怎样才能阻止它这样做?

java - REST 中需要返回 2 组不同响应的 HTTP GET 响应的正确设计原则是什么

python - 使用 Python ElementTree 在 XML 中查找和编辑子元素