2014-01-08 73 views
1

我有一個本地應用程序(沒有JEE服務器),最終將使用postgres。 我想選擇Hibernate作爲我的數據庫框架。我現在正在創建persistence.xml,並想知道應該選擇哪種事務類型:JTA或RESOURCE_LOCAL,還是沒有?本地postgres工具的交易類型?

<persistence-unit name="travelport" transaction-type="JTA">

而且我想使用Hibernate的EntityManager在我的應用程序。我可以讓我的應用程序以某種方式管理事務(任何框架)嗎?還是我不需要使用應用程序服務器時,必須自己打開,提交和關閉事務?

回答

1

如果您在EE環境中運行,您確實只需要JTA交易類型,所以一定要選擇RESOURCE_LOCAL

至於事務管理,看看Spring Transaction Management - 我就不再重複了很好的例子在這裏的鏈接,但隨意張貼後續問題如果需要的話:-)

和Don」不要忘記數據庫池(DBCP,C3P0等)。

乾杯,

0

對於SE應用程序,您應該使用RESOURCE_LOCAL並自行管理事務。

自動事務管理將要求bean/services具有託管生命週期並可能插入該生命週期。我不知道Java的現成生命週期框架(Spring對於servlet容器是一個很好的選擇,但是除了bean生命週期外,還要注意它帶給表的所有商品)。