假设我有两个课程Employee
和Department
。
在Employee
我写过:
@OneToOne( fetch = FetchType.EAGER, cascade = {CascadeType.ALL})
@JoinColumn(name="deptID")
private Department department;
Department
类有Id和Name。 (就像部门硕士一样)。
我有一个视图,我使用select / combo框选择Department
。当我提交表单并将Employee
对象传递给它时,它会detached entity passed to persist
。我想只保存具有外键值的员工实体,而Department
已经有记录。
答案 0 :(得分:1)
你告诉JPA cascade all!并传递了分离的对象来保存,这是一个问题。根据{{3}}
当你坚持雇员坚持部门时,CascadeType.PERSIST
会起作用。
根据hibernate doc:
CascadeType.PERSIST: cascades the persist (create) operation to associated entities persist() is called or if the entity is managed
所以你的选择:
请参阅hibernate doc