在Hibernate中映射两个抽象实体的映射

时间:2014-01-15 10:28:13

标签: java hibernate

我试图在hibernate中映射以下数据结构:

  @OneToMany(fetch = FetchType.EAGER,cascade=Array(CascadeType.REMOVE,CascadeType.REFRESH,CascadeType.MERGE,CascadeType.PERSIST))
  @JoinTable(name = "links", joinColumns = Array(new JoinColumn(name = "link_id")))
  @MapKey(name="id")
  @Fetch(value = FetchMode.SELECT)
  @Access(AccessType.PROPERTY)
  def getLinksMapNative:java.util.Map[MyClass,MyClass] = {
    linksMap
  }

我有以下问题:

  • 如果我保留MapKey注释,从会话加载时,Map的Key是MyClass的整数id,而不是MyClass的实例,这会在运行时导致ClassCastException
  • 如果我把它取下来,因为MyClass是一个抽象的实体,我得到:

    org.hibernate.InstantiationException:无法实例化抽象类或接口

在坚持不懈的那一刻。

可以在Hibernate中映射两个抽象实体的Map吗?如果是,那怎么办?

0 个答案:

没有答案