Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 休眠和子对象(添加与清除)_Java_Hibernate_Orm - Fatal编程技术网

Java 休眠和子对象(添加与清除)

Java 休眠和子对象(添加与清除),java,hibernate,orm,Java,Hibernate,Orm,假设我有一个带汽车和轮子的领域模型。Wheels是一个轮子列表 车轮与汽车之间存在多对一的关系 如果我从Hibernate取回一个对象,它有4个轮子。我把那个物体去掉4个轮子,加上4个。然后保存。 如果我再次向Hibernate请求对象,它会返回一个带有8个轮子的auto。。。我们做错了什么?我有几天没有访问源代码的权限,但我想让我们的Java开发人员朝着正确的方向前进。谢谢。我相信,但我不是100%肯定,这取决于集合的级联属性。例如,如果您有: <hibernate-mapping pa

假设我有一个带汽车和轮子的领域模型。Wheels是一个轮子列表 车轮与汽车之间存在多对一的关系

如果我从Hibernate取回一个对象,它有4个轮子。我把那个物体去掉4个轮子,加上4个。然后保存。

如果我再次向Hibernate请求对象,它会返回一个带有8个轮子的auto。。。我们做错了什么?我有几天没有访问源代码的权限,但我想让我们的Java开发人员朝着正确的方向前进。谢谢。

我相信,但我不是100%肯定,这取决于集合的
级联属性。例如,如果您有:

<hibernate-mapping package="com.foo">
  <class name="Automobile">
  ...
    <set name="Wheels" cascade="delete-orphan"> <!-- or "all-delete-orphan" -->
      ...
    </set>
  </class>
</hibernate-mapping>

...
...

那可能就行了。

我相信这取决于集合的
cascade
属性,但我不是100%肯定。例如,如果您有:

<hibernate-mapping package="com.foo">
  <class name="Automobile">
  ...
    <set name="Wheels" cascade="delete-orphan"> <!-- or "all-delete-orphan" -->
      ...
    </set>
  </class>
</hibernate-mapping>

...
...

那么这可能就够了。

你的问题听起来像是@embeddeble类的集合,其中组件(part-Wheel)的生命周期与其所属实体实例(Automobile)的生命周期绑定

它会满足你的需要。但请记住必须提供equals和hashCode实现才能正常工作

@Embeddable
public class Wheel implements Serializable {

    /**
      * equals and hashCode goes here
      * Prefer To use business key
      */

}

你的问题听起来像是@Embeddeble类的集合,其中一个组件(part-Wheel)的生命周期与其所属实体实例(Automobile)的生命周期绑定

它会满足你的需要。但请记住必须提供equals和hashCode实现才能正常工作

@Embeddable
public class Wheel implements Serializable {

    /**
      * equals and hashCode goes here
      * Prefer To use business key
      */

}

这种关联是双向的吗?不,轮子只有半径、深度等道具。。。没有汽车协会。在领域模型中,仅从汽车到车轮。请原谅,您在问题中说“车轮与汽车有多对一的关系”。你的评论让事情变得更混乱了:/这种关联是双向的吗?不,轮子只有半径、深度等道具。。。没有汽车协会。在领域模型中,仅从汽车到车轮。请原谅,您在问题中说“车轮与汽车有多对一的关系”。你的评论让事情变得更混乱了,谢谢。我刚读到这方面的消息+1&可能是答案。我会让我的人来测试这个。很酷,谢谢。我刚读到这方面的消息+1&可能是答案。我会让我的人来测试这个。
@Embeddable
public class Wheel implements Serializable {

    /**
      * equals and hashCode goes here
      * Prefer To use business key
      */

}