【问题标题】:Hibernate Many to one in cascade delete在级联删除中休眠多对一
【发布时间】:2012-03-08 06:51:55
【问题描述】:

大家好,我是这个组的新手。我在多对一关系中有问题。我有一个名为 machinemaster 的表,其中有一个主键,还有 12 个其他表,比如 bios、hdd 等等表有 machinemaster 的引用,比如 machineID。首先数据将插入到 machinemaster 中,在获取 id 的引用后,它将被插入到所有子表中......它工作正常......但是当我在子表中输入数据时它将除 id 之外的所有 machinemaster 字段设为 null ......所以我不知道出错了......在 cascade=delete &lazy=false 中是否有问题...我保留了这个,所以告诉我这是对的,如果是的,那么为什么当我根据父级的引用将数据插入子级时,父级数据会更新为空......提前谢谢

【问题讨论】:

  • 发布您的 hbm 映射并尝试稍微格式化问题。

标签: hibernate


【解决方案1】:

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

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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 1970-01-01
    • 2019-07-31
    相关资源
    最近更新 更多