在我的应用程序中,我试图通过注释实现 Hibernate 映射。我有一个抽象的基类,在这个类中存在 Id 属性。我正在用一个子类继承这个基类。代码如下:
@MappedSuperclass
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class Base implements IBase {
private static final long serialVersionUID = -1433573674276444516L;
private int id;
public Base() {
}
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="ID")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
子类是:
@Entity
@Table(name="USER")
public class User extends Base implements IUser {
private static final long serialVersionUID = 344528694909088439L;
private String name;
public User() {
}
@Column(name="NAME", nullable=false)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
它正在创建 USER 表并且工作正常。
我想知道我这样做是否正确。
谢谢。
最佳答案
如果目标只是让几个独立的实体从基类继承一个公共(public)字段,那么不,你做的不正确。注解@Inheritance 是不必要的。当您有一个实体(例如车辆)和多个子实体(例如汽车、自行车)时,@Inheritance 是必需的。
关于java - Hibernate注解继承抽象基类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10562864/