我試圖堅持一個簡單的實體,但它不會持續到數據庫沒有任何錯誤。我正在使用glassfish 3.1.2,hibernate 4.1.3.Final,事務範圍/容器管理的entitymanager。 jta事務在persistence.xml中配置,jta datasource設置正確。它是一個具有默認事務級別(必需)的無狀態會話Bean。在控制檯中,我從Hibernate的TransactionCoordinatorImp幾次看到「由於自動連接檢查而跳過JTA同步註冊」消息。我可以使用entitymanager.find找到手動插入的實體。但不能堅持或合併。任何想法可能是什麼問題?由於自動加入檢查而跳過JTA同步註冊
更新:看起來問題與「由於自動連接檢查而跳過JTA同步註冊」消息無關。如果我將事務隔離級別設置爲REQUIRES_NEW,則添加新實體,但如果將隔離級別設置爲REQUIRED,則不會持久化。該方法是第一個接收jax-rs Web服務調用的方法。爲什麼我需要REQUIRES_NEW隔離級別?
雖然我只使用J2EE無狀態bean和@PersistenceContext註釋來注入EM,seam-persistence-3.1.0和seam-transaction-3.1.0 jars導致上述問題。我已經將它們從類路徑中移除,並且消息已經消失。我認爲seam-transaction和hibernate存在兼容性問題。 – Deniz