Hibernate 多对一上的Java JPA多态映射

Hibernate 多对一上的Java JPA多态映射,hibernate,jpa,Hibernate,Jpa,我试图用多态类型映射JPA(现在使用Hibernate)多对一关系,但我没有运气。我不明白为什么不可能,或者为什么我会被迫在映射中声明一个具体类型。以下是一个例子: @MappedSuperclass class BaseClass { @Id long id; } class ClassWithList extends BaseClass { String attribute; @OneToMany(mappedBy="backPointer") Li

我试图用多态类型映射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;
}
@MappedSuperclass
类基类{
@身份证
长id;
}
类ClassWithList扩展了基类{
字符串属性;
@OneToMany(mappedBy=“backPointer”)
名单;
}
类ListClass扩展了基类{
字符串listItemData;
@许多酮
@连接柱({
@JoinColumn(name=“baseId”),
@JoinColumn(name=“baseType”),
})
基类反向指针;
}

感谢您提供的建议。

对于特定的记录类型,您没有什么可说的。我建议你看看。它同样适用于休眠。

对于特定的记录,您没有什么可说的,它是哪种类型的。我建议你看看。它同样适用于Hibernate。

我没有在ListClass对象上键入列,这是正确的,但我认为如何定义继承文档不是我要做的。我想我可以将type列添加到ListClass中,但是我想我没有办法让JPA提供者知道如何使用该类型。我将向示例中添加@JoinColumns注释。链接已断开:(你是对的,我没有在ListClass对象上键入列,但我不认为如何定义继承文档是我想要做的。我想我可以将类型列添加到ListClass,但我想我没有办法让JPA提供者知道如何使用该类型。我将在我的示例中添加@JoinColumns注释。the链接已断开:(