我想知道使用 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();
}
}