【发布时间】:2014-05-14 19:38:28
【问题描述】:
我有一个分离的实体,想设置一些值。但在此之前,我想刷新实体以确保拥有数据库中的最新数据。我想出了这个代码。它会在设置一些新值之前合并并刷新我的实体。
问题是,这会创建一个新对象。有没有更好更简单的存档方式?
@Entity
public class MyEntity{
public void setValueAndPersist(){
EntityManager em = ...
em.getTransaction().begin();
MyEntity newEntity = em.merge(this);
em.refresh(newEntity);
newEntity.setSomeVal("someVal");
em.commit();
}
}
【问题讨论】:
-
如果您知道实体存在于 thh DB 中,您可以查找它:
MyEntity entity = em.find(MyEntity.class, primary-key-here);然后更新值 - 即 - 您跳过合并/刷新内容
标签: java jpa persistence entitymanager