У меня есть следующий фрагмент кода:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("test")
EntityManager entityManager = emf.createEntityManager()
User user = entityManager.find(User.class, 0);
entityManager.getTransaction().begin();
entityManager.getTransaction().rollback();
entityManager.refresh(user);
В четвертой строке выдается исключение IllegalArgumentException, в котором говорится: «Объект не управляется». Если я изменю третью строку на .commit()
вместо .rollback()
, кажется, все работает нормально.
Что здесь происходит? Могу ли я предотвратить это?
ОБНОВЛЕНИЕ: @DataNucleus направляет меня к PersistenceContext. Как изменить контекст постоянства в моем коде?