2014-01-08 47 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生命周期外,还要注意它带给表的所有商品)。