【发布时间】:2012-03-11 17:30:21
【问题描述】:
我使用 EclipseLink 作为 JPA 提供者完成了一个简单的 Web 服务。我是 JPA 的初学者,所以我想知道这是否是更新数据库的常用方式和最纯粹和安全的方式:
EntityManager em = emf.createEntityManager();
if(!em.getTransaction().isActive()){
em.getTransaction().begin();
}
Query query = (Query)em.createNamedQuery("Person.updatePerson");
query.setParameter("personId", person.getPersonPK().getPersonId())
.setParameter("personName", name);
return query.executeUpdate();
为什么我在调用em.getTransaction().begin() 后不需要使用em.getTransaction().commit();? query.executeUpdate() 似乎更新了数据库,而不是提交调用。为什么呢?有什么推荐的?
【问题讨论】:
标签: java database web-services jpa eclipselink