Я хотел бы сделать неуправляемый объект управляемым в другом контексте сохранения. Я читал, что это может быть сделано с слияния:jpa слияние неуправляемого объекта
em.merge(user);
Но если я это делать не добавляется к контексту:
boolean isManaged = em.contains(user);
всегда ложно.
Даже если я сделать следующее:
User dbuser = em.find(User.class, user.getId());
em.merge(user);
boolean isManaged = em.contains(user);
DBUser и пользователя точно так же.
Что я делаю неправильно?
Я использую JPA, MySql DB, JBoss EAP 6.1
Вы начали и совершили транзакцию? Кроме того, do: 'dbuser = em.merge (пользователь);' – Sam
Могу ли я начать транзакцию с JPA (без Spring или с родным Hibernate)? Я просто использую @TransactionManagement (TransactionManagementType.CONTAINER) – Dave
Можно получить объект транзакции с помощью 'em.getTransaction()' для вызова '.begin()', '.commit()', '.rollback()'. Однако это может быть не обязательно или даже невозможно (при использовании JTA EntityManager) в вашей конфигурации. – Sam