多くの単方向マッピングリストを冬眠します
-
29-09-2019 - |
質問
私は持っています one-to-many
親と子のJavaオブジェクトの関係。親オブジェクトが使用します java.util.List
複数の子オブジェクトを保存します。私が経験している問題は、1つ以上の子オブジェクトを追加した後に親オブジェクトを更新するときです。 List
親に。私はを使用しています saveOrUpdate
親を保存または更新する方法。親の新しいインスタンスを保存している場合は正常に動作しますが、保存した後、子供のオブジェクトを親に追加しようとします List
そして、電話をかけようとします saveOrUpdate
親オブジェクトでは、子オブジェクトのエントリはデータベースに持続しません。いくつかのポインターが欲しいだけです。 ノート: :私は注釈を使用していません。
のスニペット parent.hbm.xml, 、それは1対多様な一方向の関係を定義します:
<list name="children" cascade="all">
<key column="parent_id"/>
<index column="idx"/>
<one-to-many class="Child"/>
</list>
解決
私はこの例を再現しようとしましたが、それは私にとってうまくいきました。
これが私のマッピングです:
<hibernate-mapping package="com.example.domain">
<class name="com.example.domain.Parent" table="PARENT">
<id name="id" column="parent_id" access="field">
<generator class="increment" />
</id>
<property name="name" column="parent_name" access="field" />
<list name="children" access="field" cascade="all">
<key column="parent_id" not-null="true" />
<index column="idx" />
<one-to-many class="Child" />
</list>
</class>
</hibernate-mapping>
<hibernate-mapping package="com.example.domain">
<class name="com.example.domain.Child" table="CHILD">
<id name="id" column="child_id" access="field">
<generator class="increment" />
</id>
<property name="name" column="child_name" access="field" />
</class>
</hibernate-mapping>
追加した not-null="true"
親マッピングに。
設定しようとしましたか show_sql
Hibernate Configで生成されたSQLを表示しますか?
所属していません StackOverflow