Java hibernate泛型继承
我有一个泛型类,它是一些非泛型类的超类,它们只是设置它的泛型参数,如下所示:Java hibernate泛型继承,java,hibernate,inheritance,Java,Hibernate,Inheritance,我有一个泛型类,它是一些非泛型类的超类,它们只是设置它的泛型参数,如下所示: @ManagedProperty class A<T>{ @Id getId(){..} setID(int id){..} int id T t; T getT(){...} setT(T t){...} } @ManagedProperty 甲级{ @身份证 getId(){..} setID(int-id){..} 整数id T; T get
@ManagedProperty
class A<T>{
@Id
getId(){..}
setID(int id){..}
int id
T t;
T getT(){...}
setT(T t){...}
}
@ManagedProperty
甲级{
@身份证
getId(){..}
setID(int-id){..}
整数id
T;
T getT(){…}
setT(T){…}
}
及
@实体
类B扩展了{}
但我得到了MappingException,它说:
它有一个未绑定的类型,并且没有显式的目标实体。解决此通用用法问题或设置显式目标属性
我应该如何修复它?您的示例无法运行。getT()被定义为包私有,这意味着它在子类B中不可见。当Hibernate使用反射解析该类时,它可以找到方法getT(),但由于该方法在子类中不可见,反射不提供该方法的类型 您可以做什么:
我总是做解决方案3——反正我不喜欢注释;-) 尝试通过此线程阅读:)
@Entity
class B extends A<Integer>{}