我新的Spring和Hibernate請大家幫忙,交易是沒有得到支持滾動使用JTA事務管理
我使用(Jboss的6.0最終作爲服務器)
的org.springframework.transaction.jta.JtaTransactionManager
豆與屬性中設置
transactionManagerName如Java:/事務管理和
userTrans actionName爲java:comp/UserTransaction。
在代碼中,我設置了
jtaTxManager屬性thr setter。
然後
javax.transaction.TransactionManager tx = jtaTxManager.getTransactionManager();
,然後事務正在使用
tx.begin()啓動語句。
我用
sessionFactory.getCurrentSession()終於拿到休眠
的會議上,我已經使用
我使用Hibernate來保存JTA事務 中的多個記錄,但如果之間發生的任何錯誤在tx.commit()上拋出一些類似於約束違規異常的記錄,這是
javax.transaction.RollbackException,當catch我用於調用tx.rollback()但我的事務沒有得到回滾並獲得tx.rollback()的異常時,我還沒有在hib中設置任何類型的自動提交屬性ernate屬性。
但我的第一個記錄被保存在數據庫中理想情況下,他們不應該保存,但在回滾時發生這種異常,所以我認爲這就是爲什麼他們得到保存。
java.lang.IllegalStateException: BaseTransaction.rollback - [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] no transaction! at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.rollback(BaseTransaction.java:158) at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.rollback(BaseTransactionManagerDelegate.java:114)
你是否開始交易? – Puce
是的,但雖然回滾我得到以上例外 – Ram