假设我有一个A类如下:
class A{ int id; int getId(){}; void setId(int id){}; }
B级如下:
@Entity @Table(name="B") class B extends A{ string name; @Column(length=20) string getName(){} void setName(){} }
如何从A中注释继承的id字段,以便Hibernate/JPA知道它是实体的Id?我试过简单地将@Id放在A中的字段上,但这不起作用.我也试过制作一个实体,这也没有用.
假设您不希望超类本身表示实体,您可以@MappedSuperclass
在超类上使用子类继承持久性的属性:
@MappedSuperclass class A{ int id; @Id int getId(){}; void setId(int id){}; }
考虑使超类抽象.有关详细信息,请参阅文档的此部分.