0

親子関係を持つ2つのクラスがあります

<class name="parent">   
   <id name="id">    
      <generator class="assgned"/>   
   </id>   
   <property name="currency"/>
   <property name="description" length="400"> 
</class> 

<class name="child"> 
  <id name="id">    
<generator class="native"/>   
</id>
   <property name="someprop1"/>
   <property name="someprop2">
   <many-to-one class="Parent" column="parent_field" name="parent" cascade="save-    
    update" />
</class> 

子に新しい行を挿入すると、新しい行を挿入して新しい ID を外部キーにマッピングする代わりに、子クラスの既存の行が更新されます。

ジェネレータークラスとカスケードオプションの選択を間違っていると思います。助けてください。

4

1 に答える 1

0

カスケードのマッピングは、子クラスへの方向を持つ親クラスにある必要があります..古いオブジェクトとともに子のリストに新しい子オブジェクトを追加すると、親を保存しながら..自動インクリメントで新しい行に保存されますid が構成されている場合、子を親と一緒に保存していて、すべての子にオブジェクトに主キーが設定されている場合、DB 内の既存の行が更新されることを覚えておいてください。これは正しい動作です。

于 2012-06-04T13:03:55.580 に答える