2012-04-25 84 views
0

我正在開發一個Web應用程序,並決定使用spring-data將是一個好主意。公平地說,它使生活變得非常簡單,DAO層非常薄。Spring Data,Hibernate 4.1.1和Spring JTA事務管理器

我遇到的問題是保存數據。當我使用JPATransactionManager時,持久性按預期工作。但我需要使用JTATransactionManager。當我使用這個看來該交易看起來不錯,但休眠沖洗似乎並沒有要與TX相關承諾

DEBUG [的org.springframework.transaction.jta.JtaTransactionManager](HTTP - 127.0.0.1 -8080-2)使用名稱[com.clubgroups.user.registration.service.impl.UserRegistrationServiceImpl.registerUser]創建新事務:PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''

DEBUG [的org.springframework.transaction.jta.JtaTransactionManager](HTTP - 127.0.0.1-8080-2)在現有的事務參與

DEBUG [的org.springframework.transaction.jta.JtaTransactionManager] (http - 127.0.0.1-8080-2)初始事務提交

上面是確認事務正在提交的調試消息。但數據似乎沒有被刷新到數據庫。

我初始化事務管理器這樣的:

@Bean 
public JpaTransactionManager transactionManager() { 
    JtaTransactionManager transactionManager = new JtaTransactionManager();  

    return transactionManager; 
} 

任何幫助將是巨大的。

+0

也許你在某處放置了只讀標誌?或者你是否將FlushMode更改爲MANUAL的某處? – 2012-04-26 04:38:30

回答

0

我對你的JTA設置有些困惑,因爲它非常不尋常。首先,看看如何正確設置JTA事務the reference documentation。簡單地實例化JtaTransactionManager不起作用,因爲您需要通過某種方式從JNDI獲取UserTransaction。如果您在@Bean方法中調用afterPropertiesSet(),則會看到彈出錯誤消息,因爲這會顯示缺少的配置。

相關問題