データベースファーストの休止状態の API を作成しています。
netbeans にデータベースから POJO とマッピング ファイルを生成させます。(「Hibernate マッピング ファイルとデータベースからの POJO を使用」)
データベース内の外部キーは、POJO への参照になりました。
例: クラス A にクラス B との外部キー関係がある場合、クラス A POJO は次のようになります。
Class A {
private B b;
private Integer idA;
public A (B b){
this.b = b;
}
//const, getter, setter
}
新しい A オブジェクトを作成してデータベースに挿入したい場合 ( Hibernate.session.persist(a) を使用) すると、問題が発生します。
Bオブジェクトも作成する必要があるようです(ただし、このBオブジェクトにはテーブルCへの外部キーなどがあります)
したがって、session.persist を使用する代わりに、hql クエリを記述して新しい A オブジェクトを挿入する必要があります。
Query q = session.createQuery(INSERT INTO A (idB) 2);
q.executeUpdate(q);
(または、hql クエリを使用すると、session.persist(a) を使用するよりも不利になりますか?)
それとも、POJO とマッピング ファイルを手動で編集して、クラス B オブジェクトの代わりにテーブル B id を含める必要がありますか?
それとも私が見落としているものがありますか?
事前に感謝します。追加情報を提供する必要がある場合は、挨拶をお知らせください