【问题标题】:Hibernate OneToMany relationship with a not concrete classHibernate OneToMany 与非具体类的关系
【发布时间】:2014-04-04 17:00:06
【问题描述】:

有没有一种方法可以使用 Hibernate接口 用作 OneToMany 关系? 我的意思是我有一个类 Document,它有一列 List 让我获取所有记录。对于每个 MyInterface,我需要有一个不同的具体类。

【问题讨论】:

  • 它是否返回List<MyInterface>?我不知道 Hibernate 是否可以做到这一点,但你可以试试。

标签: java hibernate list interface hibernate-onetomany


【解决方案1】:

我认为问题是:

为什么要使用接口而不是抽象类,在对象层次结构中使用可以映射为@MappedSuperclass 的抽象类比使用接口更有意义,因为接口不在持久的模型层次结构中发挥作用,只是定义新的实现,但那个实现,我的意思是方法覆盖没有保存在数据库中。

因此,您可以使用从父类扩展并实现接口的实体。

请记住,当您保存对象的状态时,保存在数据库中的实体层次结构将取决于父子关系,而不是在其方法的不同实现中。

你可以使用类似的东西

@OneToMany
Set<MyParentClassThatImplementsMyInterface> object;

所以父类将是。

@MappedSuperclass
public abstract class MyParentClassThatImplementsMyInterface implements MyInterface{}

@Entity
public class MyImpl1 extends from MyParentClassThatImplementsMyInterface 

记住查询是多态的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 2018-08-01
    • 2012-02-08
    • 2012-08-14
    • 1970-01-01
    相关资源
    最近更新 更多