【发布时间】:2011-08-30 13:37:03
【问题描述】:
我很想知道 Hibernate 将如何处理以下情况。
假设我们有一个User 实体,它有一个country 属性,设置为级联持久性:
public class User {
@ManyToOne(cascade=CascadeType.PERSIST)
protected Country country;
// ...
}
现在,如果我们将分离的Country 对象分配给User 会怎样...
user.setCountry(someDetachedCountry);
...但是当前会话中已经存在具有相同标识的Country?
提交是否会因异常而失败,还是会像在会话中一样使用分离国家的身份?在后一种情况下,Hibernate 是否会尝试将持久性级联到分离的Country 的属性(如果其中任何一个设置为级联)?
【问题讨论】:
-
为什么不在单元测试中尝试呢?我猜它失败了,除了“已经有一个具有这个 id 的对象”之外。
标签: hibernate jpa orm hibernate-mapping