0
私はHibernateで永続化しているクラスを持っています。これは、バッグの中に保存され、以下のように、そのIDを生成するシーケンスジェネレータを使用している:子供のステータスプロパティを変更すると、新しい子レコードではなく、古いものが更新されるので挿入されるべきHibernateのUPDATEの代わりにINSERT
<class name="Parent">
<id name="id" />
<bag name="children" access="field">
<key column="parent_id" not-null="true" />
<one-to-many class="Child" />
</bag>
</class>
<class name="Child">
<id name="id">
<generator class="sequence">
<param name="sequence">child_seq</param>
</generator>
</id>
<many-to-one name="status" not-null="true" cascade="none" />
</class>
。ただし、Hibernate UPDATE。 HibernateにINSERTするかどうかを伝える方法はありますか?それとも、私はバッグの外で自分自身でそれを管理する必要がありますか?
これは、あなたが休止状態を使用している方法が混乱しているように思えます。 'Parent.children.size()'が表の行数と異なるようにしますか?なぜ新しいChildインスタンスをバッグに追加するだけではないのですか? –