本文介绍了如何处理JPA注解指向一个通用接口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个通用类,也具有保存的指针相同类型的另一个目的私有字段映射的超类:

  @MappedSuperclass
公共抽象类MyClass的<吨延伸MyIfc< T>>
    实现MyIfc< T>
    {        @OneToOne()
        @JoinColumn(NAME =previous,可为空=真)
        私人ŧprevious;             ...
             }

我的问题是,Eclipse的是显示在一对一目标实体T在文件中的错误为previous不是一个实体。所有MyIfc的实现的是,事实上,实体。我还要补充一点,每一个从MyClass的继承具体实现使用T的一个不同的值(因为T是本身),所以我不能用targetEntity属性。

我想,如果没有答案,然后我就必须把这个JPA注释移动到MyClass的所有具体子类。它只是看起来的JPA一样/休眠应该足够聪明,知道在运行时,它会所有工作了。让我不知道是否我应该只是忽略这个错误不知。


解决方案

Yes, and even if T was extending an Entity, I am not aware of any JPA provider supporting this (that's just not part of the JPA spec anyway). For more feedback have a look at JPA Generic entities classes Mappedsuperclass are not possible! (very similar thread about EclipseLink):

这篇关于如何处理JPA注解指向一个通用接口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-16 03:46