私のアプリケーションでは、アノテーションを介して 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 テーブルを作成し、正常に動作しています。
私は正しい方法でそれをやっているのだろうかと思っていました。
ありがとう。