inverse="true"
とconstrained="true"
の違いは何ですか?Hibernate双方向配置
両方の関連付けを双方向にするために使用されていませんか? 2つのテーブルのプライマリキーをリンクする外部キー制約を追加することも両方ですか?
私は混乱しています。私を案内してください。
inverse="true"
とconstrained="true"
の違いは何ですか?Hibernate双方向配置
両方の関連付けを双方向にするために使用されていませんか? 2つのテーブルのプライマリキーをリンクする外部キー制約を追加することも両方ですか?
私は混乱しています。私を案内してください。
制約は、1対1リレーションの遅延読み込みに使用されます。それらは共有プライマリキーによって実装されるため、Hibernateはフェッチする前に他のテーブルにレコードがあるかどうかを知りません。制約があると、常に予想されるレコードがあることをNHibernateに伝えるので、プロキシを作成することができます。 this blog post from Ayende Rahienを参照してください。
inverseを指定すると、1対多の関係がすでに多くの側で格納されていることをNHibernateに伝えるので、一方の側にコレクションを格納する必要はありません。私はここでそれを説明しようとしました:When to use inverse=false on NHibernate/Hibernate OneToMany relationships?