2

親と子のJavaオブジェクトの間にone-to-many関係があります。親オブジェクトは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>
4

1 に答える 1

2

この例を再現しようとしたところ、うまくいきました。

ここに私のマッピングがあります:

<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生成された SQL を表示するために休止状態の設定を設定しようとしましたか?

于 2010-10-14T00:13:25.770 に答える