我有一个本地应用程序(没有JEE服务器),最后应该使用postgres。
我想选择Hibernate
作为我的数据库框架。我现在正在创建persistence.xml
,并想知道我应该选择哪种事务类型:JTA或RESOURCE_LOCAL,还是没有?
<persistence-unit name="travelport" transaction-type="JTA">
此外,我想在我的应用程序中使用Hibernate EntityManager。我可以让我的应用程序以某种方式(任何框架)管理事务本身吗?或者,在不使用应用程序服务器时,我是否总是自己打开,提交和关闭事务?
答案 0 :(得分:1)
如果您在EE环境中运行,您实际上只需要JTA
交易类型,因此请务必选择RESOURCE_LOCAL
。
关于交易管理,请查看Spring Transaction Management - 我不会在此重复此链接中的好例子,但如果需要,请随时发布后续问题: - )
干杯,
答案 1 :(得分:0)
对于SE应用程序,您应该使用RESOURCE_LOCAL
并自行管理交易。
自动事务管理需要bean / services具有托管生命周期,并且可以插入该生命周期。
我不知道Java的现成生命周期框架(Spring是servlet容器的一个很好的选择,但是除了bean生命周期之外,请注意它带给表的所有商品。)