em.getTransaction().begin();
StringData sd = em.find(StringData.class, key);
System.out.println("Old value: " + sd.getData());
sd.setData(newValue);
// em.persist(sd);
em.getTransaction().commit();
Como se puede ver, no estoy llamando persist
, ha comentado, porque soy el funcionamiento en seco primero este código. Sin embargo, como resulta, no es tan seco. Al inspeccionar la base de datos, veo que los datos han cambiado (afortunadamente es una base de datos de prueba).¿El JPA/Hibernate ahorrar aún cuando no llamar a persistir
Aparentemente mi comprensión de Hibernate/JPA es defectuosa. ¿No es obligatorio llamar al persist
para cambiar los datos? Y si no, ¿cuáles son las reglas sobre cuándo se guarda algo ?
pero estás llamando a commit? –