私は3つのクラスを持っています:
Person {
int id;
String name;
String lastName;
}
Employee extends Person {
//some additional data
}
Owner extends Person {
//some additional data
}
クラスごとに別のテーブルがあります。テーブルでは、キーはEmployee
テーブルとまったく同じである必要がありPerson
ます。
そして今、クラスを挿入すると、テーブルに1つのレコードがあり、同じEmployee
レコードが1つあるはずです(これが値1であると仮定しましょう)。Person
Employee
ID
その後、Owner クラスを挿入したいのですが、同じ Person (ID=1) にしたいので、Owner を挿入した後、テーブル Owner には 1 つのレコードのみを追加する必要がありますが、テーブル Person のレコードはそのままにしておく必要があります。
私はこれを試しました:http://viralpatel.net/blogs/hibernate-inheritance-table-per-subclass-annotation-xml-mapping/
最初のクラスを挿入しても問題ありません。別の ID で 2 番目を挿入しても問題ありません。db からオブジェクトを取得しても問題ありませんが、hibernateException を取得した既存の人物など、同じ ID を持つ所有者クラスを追加したいのですが...誰か助けてくれますか?