私はクラスを永続化するためにHibernateアノテーションを使用しています。 は現在、私は私が親クラスである抽象クラスを持つクラス Hibernate Polymorphic HQL SELECT文
をマッピングするために、次の戦略を使用している、と私はそれ 母、父から継承する二つのサブのクラスを持っています。私はそのようにマッピングされた:
@MappedSuperclass
public abstract class Parent {
private int age;
private String name;
...
}
そして他の二つのクラスがこのように宣言されています
@Entity
public Class Father extends Parent {
private boolean haveMustash;
...
}
したがって、基本的なシナリオは、「クラスごとの表」です。
今、親(親、父)に関係なく、親の年齢を更新するHibernate HQLステートメントを作成します。両方のテーブルで一意の名前列を使用して親が検索されます。母親や父親なら名前を見るだけではわかりません。 両方のテーブルを参照し、更新するために正しいエンティティを返すHQL文を作成するにはどうすればよいですか?
私はこのような何かについて考えた:(それも可能であれば私はアイデアを持っていない)
Parent parent = hibernateTemplate.find("from Mother,Father where name="
+ name);
それは動作しません、私は親がマップされていません(ハイバーネーション例外) – stdcall
さて、マップしてください。 –
全体アイデアはマッピングされていないため、抽象クラスであり、Father&Motherはそこから基本マッピングを取得します。 – stdcall