0

我有两个有父子关系的班级

<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 如果已配置,请记住,如果您将孩子与父母一起保存,并且所有孩子都在对象中设置了主键,他们将更新数据库中的现有行,因为这是正确的工作行为。

于 2012-06-04T13:03:55.580 回答