我有一个泛型类,它是某些非泛型类的 super 类,这些类只是设置其泛型参数,如下所示:
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
class A<T>{
@Id
getId(){..}
setID(int id){..}
int id
T t;
T getT(){...}
setT(T t){...}
}
和
@Entity
class B extends A<Integer>{}
但是 hibernate 说 B 没有标识符我该怎么办?
最佳答案
如果 A 不会被直接持久化,但您确实希望它的子类获取其部分(或全部)Hibernate 注释,则应该使用 @MappedSuperclass:
@MappedSuperclass
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
class A<T>{
@Id
getId(){..}
setID(int id){..}
int id
T t;
T getT(){...}
setT(T t){...}
}
关于java - 泛型类中的 hibernate 继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13015032/