Hibernate:如何避免对子元素进行逐出/分离

时间:2017-06-22 19:31:35

标签: java hibernate

我在旧的JavaEE 5项目中使用Hibernate在std::unordered_mapAddress个实体之间有一个简单的ManyToOne关系。

在Person类上:

Person

我试图在不使用Java的@ManyToOne @Cascade(value = {CascadeType.MERGE, CascadeType.PERSIST}) private Address address; 方法的情况下复制一个Person记录。所以我从数据库中检索它,在Person实体上调用clone以将其从会话中分离出来,重置其ID并保持持久。

问题> evict()

为什么evict还会分离Address实体?我怎么能避免这种情况?我不想创建另一个地址记录,我想使用它应该附加到会话的现有记录,因为我没有使用Cascade.EVICT或Cascade.ALL关于ManyToOne关系。

与此同时,我正在驱逐人员,重新连接地址(通过ID查找),然后调用持久性。它的工作正常,只是想知道是否有更好的解决方案。

0 个答案:

没有答案