我有一个托管的JPA实体(也有子实体)。应该通过解组从另一个数据源检索的XML文件来填充给定实体的某些字段。问题是JAXB不会将XML解组为现有对象,而是创建一个新对象。解决问题的最简单方法是什么?
答案 0 :(得分:0)
您应该使用JPA merge
操作将分离实体的状态合并到持久化上下文中,而不是解组成现有的JPA对象。
public void updateEmployee(Employee detachedEntity) {
Employee managedEntity = entityManager.merge(detachedEntity);
// do further operations on managedEntity and not detachedEntity
}
<强>更新强>
如果您使用的是JPA 2.1,那么您可以利用此实例的实体图。