Я сделал простой веб-сервис, используя EclipseLink в качестве поставщика JPA.Я начинающий, когда прихожу в 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().commit();
после того, как я позвонил em.getTransaction().begin()
?query.executeUpdate()
похоже обновляет базу данных, а не вызов commit.Почему это так?Что рекомендуется?