我有一个泛型类,它也是一个映射的超类,它有一个私有字段,用于保存指向同一类型的另一个对象的指针:
@MappedSuperclass
public abstract class MyClass<T extends MyIfc<T>>
implements MyIfc<T>
{
@OneToOne()
@JoinColumn(name = "previous", nullable = true)
private T previous;
...
}
Run Code Online (Sandbox Code Playgroud)
我的问题是Eclipse在OneToOne"目标实体"T"的文件中显示错误,因为以前不是实体." 事实上,MyIfc的所有实现都是实体.我还应该补充一点,从MyClass继承的每个具体实现都使用不同的T值(因为T本身)所以我不能使用"targetEntity"属性.
我想如果没有答案,那么我将把这个JPA注释移动到MyClass的所有具体子类.它只是看起来像JPA /休眠应该足够聪明,知道一切都会在运行时工作了.让我想知道我是否应该以某种方式忽略这个错误.