【发布时间】:2012-05-01 11:57:06
【问题描述】:
我想知道使用 JPA 更新记录的最佳做法是什么?我目前已经设计了自己的模式,但我怀疑这绝不是最佳实践。我所做的基本上是查看记录是否在数据库中,如果找不到,我调用enityManager.persist(object<T>) 方法。如果它确实存在,我调用entityManager.Merge(Object<T>) 方法。
我问的原因是,我发现合并方法查看记录是否已经在数据库中,如果它不在数据库中,那么它继续添加它,如果是,它使更改成为必要。此外,您是否需要将合并调用嵌套在 getTransaction().begin() 和 getTransaction.commit() 中?这是我到目前为止所拥有的......
try{
launchRet = emf.find(QuickLaunch.class, launch.getQuickLaunchId());
if(launchRet!=null){
launchRet = emf.merge(launch);
}
else{
emf.getTransaction().begin();
emf.persist(launch);
emf.getTransaction().commit();
}
}
【问题讨论】:
标签: jpa entitymanager