【发布时间】:2017-11-01 10:09:13
【问题描述】:
我有两个实体。一个实体条件具有与站点的 OneToMany 映射,而其他实体站点具有与条件的 manyToOneMapping。现在我想复制条件及其所有属性更新几个值并将其作为新实体持久保存。
public class Condition{
@OneToMany(cascade = CascadeType.ALL,mappedBy = "condition",fetch=FetchType.EAGER)
private List<Sites> sites;
}
public class Sites{
@ManyToOne(targetEntity=Condition.class,fetch=FetchType.LAZY)
@JoinColumn(name = "conditionId")
private condition condition;
}
在服务层我已经这样做了:-
entityManager.detach(condition);
condition.setId(0L);
conditionRepository.save(condition);
我收到以下错误:-
{
"timestamp": 1509530470031,
"status": 500,
"error": "Internal Server Error",
"exception": "java.lang.RuntimeException",
"message": "javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: co.src..entity.condition",
"path": "/project/reviseProjectDetails"
}
任何对此问题有想法的人请帮助!
【问题讨论】:
标签: spring hibernate jpa spring-boot