Java JPA多态映射多对一

时间:2009-05-18 00:56:58

标签: hibernate jpa

我正在尝试映射JPA(现在使用Hibernate)与多态类型的多对一关系,但我没有运气。我不明白为什么它不可能,或者为什么我会被迫在映射中声明一个具体的类型。这是一个例子:

@MappedSuperclass
class BaseClass {
    @Id
    long id;
}
class ClassWithList extends BaseClass {
    String attribute;

    @OneToMany(mappedBy="backPointer")
    List<ListClass> list;
}
class ListClass extends BaseClass {
    String listItemData;

    @ManyToOne
    @JoinColumns({
       @JoinColumn(name="baseId"),
       @JoinColumn(name="baseType"),
    })
    BaseClass backPointer;
}

感谢您提供任何建议。

1 个答案:

答案 0 :(得分:1)

对于某个特定记录,您无话可说。我建议你看看TopLink JPA: How-To Define Inheritance。它同样适用于Hibernate。