6
我想在另一個持久化上下文中管理一個非託管實體。我讀這可以合併進行: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數據庫時,JBoss EAP 6.1
你是否開始並提交交易?此外,請執行以下操作:'dbuser = em.merge(user);' – Sam
我可以使用JPA啓動事務嗎(沒有Spring等或本地Hibernate)?我只需使用@TransactionManagement(TransactionManagementType.CONTAINER) – Dave
可以通過'em.getTransaction()'調用'.begin()''''.commit()'''.rollback()'來獲取事務對象。但是,在配置中可能不需要甚至不可能(在使用JTA EntityManager時)。 – Sam