我有实体类都包含id作为主键,我可以创建包含所有公共字段的抽象类,并允许所有类扩展此类如下:
public abstract class CommonFields{
@Id
@Column(name = "ID")
private long id;
public void setId(long id) {
this.id = id;
}
public long getId() {
return id;
}
}
@Entity
@Table
public class B extends CommonFields{
String carModel;
}
@Entity
@Table
public class A extends CommonFields{
String name;
}
Run Code Online (Sandbox Code Playgroud)
谢谢你们
Gab*_*uiu 16
您可以使用@MappedSupperclass使用公共字段来注释类
@MappedSuperclass
public abstract class CommonFields{
@Id
@Column(name = "ID")
private long id;
public void setId(long id) {
this.id = id;
}
public long getId() {
return id;
}
}
Run Code Online (Sandbox Code Playgroud)
来自@MappedSuperclass文档:
指定一个类,其映射信息应用于从其继承的实体.映射的超类没有为其定义单独的表.