假设我有两节课Employee
and Department
.
In Employee
我已经写了:
@OneToOne( fetch = FetchType.EAGER, cascade = {CascadeType.ALL})
@JoinColumn(name="deptID")
private Department department;
And Department
具有 Id 和 Name 的类。 (就像系硕士一样)。
我有一个正在选择的视图Department
使用选择/组合框。当我提交表格并通过时Employee
对象坚持它给出detached entity passed to persist
。我只想保存具有外键值的员工实体,而Department
已经有记录了。
你告诉JPA级联所有!并传递分离的对象来保存,这是一个问题。根据休眠文档 http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/objectstate.html#objectstate-transitive
CascadeType.PERSIST
当你坚持部门、坚持员工时,就会起作用。
根据休眠文档:
CascadeType.PERSIST: cascades the persist (create) operation to associated entities persist() is called or if the entity is managed
所以你的选择:
- 传递附加到员工的托管或临时部门对象
目的。
- 在坚持之前合并分离的一个?
- 删除所有级联并仅选择您需要的级联类型
- 完全删除级联类型。
请参阅休眠文档
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)