Hibernate在级联删除中多对一

时间:2012-03-08 06:51:55

标签: hibernate

大家好我是这个小组的新手。我在多对一关系中遇到问题。我有一个名为machinemaster的表,其中ther是一个主键&另外还有12个表说bios,hdd&所以在这个所有的表中都有机器的参考说机器ID。首先将数据插入到机器管理器和在接受id的引用后,它将被插入到所有子表中..它工作正常...但是当我在子表中输入数据时,它对除了id之外的所有机器字段都为空...所以wat出错了我知道...... cascade中有问题=删除& lazy = false ...我保留了这个,所以告诉我这是正确的,如果是,那么为什么父数据更新为null当我根据父母的推荐在子项中插入数据时...提前感谢

1 个答案:

答案 0 :(得分:0)

我会使用像这样的继承层次结构

class Part
{
    int id;
}

class Hdd extends Part
{
    string someProp;
}

class Bios extends Part
{
    string version;
}

<class name="Part" table="mashinemaster">
  <id name="id" >
    <generator ...>
  </id>
  <joined-subclass name="Hdd" table="hddtable">
    <key column="machineID" />
    <property name="someProp" />
  </joined-subclass>
  <joined-subclass name="Bios" table="biostable">
    <key column="machineID" />
    <property name="version" />
  </joined-subclass>
</class>