Hibernate の主キー プロパティに基づいて、OneToOne 関係によってサブクラスをそのスーパークラスにマップすることは可能ですか? どうすればこれを実装できますか?
2 に答える
2
次のような JOINED 継承戦略でそれを行うことができます。
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Cat implements Serializable {
private int id;
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(final int id) {
this.id = id;
}
}
@Entity
public class DomesticCat extends Cat {
private String name;
public String getName() {
return name;
}
public void setName(final String name) {
this.name = name;
}
}
このように、id は とcat
テーブルdomesticcat
の両方に主キーとして存在し、両者の間に外部キーがあります。これにより、1 対 1 の関係が得られます (@OneToOne を使用しません)。
于 2011-02-19T19:06:40.203 に答える
1
継承マッピングを理解するには、Hibernate リファレンスの継承マッピングを参照してください。
于 2011-02-19T19:09:14.097 に答える