我有春季4申请.目前我使用JpatransactionManager.
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
Run Code Online (Sandbox Code Playgroud)
你能告诉我如何选择交易经理吗?
例如,什么时候我应该使用jta事务管理器和jpa时,它们有什么好处和缺点?
我知道我有两种方式在春天工作.首先是JPA方式和第二种Hibernate方式.第一个包括java标准注释和标准api,第二个是hibenrate实现.如果我需要使用JTA,我必须使用hibernate而不是JPA,不是吗?
Geo*_*zov 24
如果要将托管事务委派给Application Server并处理跨多个资源的复杂事务,则需要使用JtaTransactionManager,但我相信在大多数情况下不需要它.阅读本文以获取更多信息http://docs.spring.io/spring-framework/docs/4.0.x/spring-framework-reference/html/transaction.html
您是否需要应用程序服务器进行事务管理?
Spring Framework的事务管理支持改变了关于企业Java应用程序何时需要应用程序服务器的传统规则.
特别是,您不需要仅通过EJB进行声明式事务的应用程序服务器.实际上,即使您的应用程序服务器具有强大的JTA功能,您也可以决定Spring Framework的声明性事务提供比EJB CMT更强大的功能和更高效的编程模型.
通常,只有当您的应用程序需要处理跨多个资源的事务时,您才需要应用程序服务器的JTA功能,这对许多应用程序来说并不是必需的.许多高端应用程序使用单个高度可伸缩的数据库(例如Oracle RAC).独立的事务管理器,如Atomikos Transactions和JOTM,是其他选项.当然,您可能需要其他应用程序服务器功能,例如Java消息服务(JMS)和Java EE连接器体系结构(JCA).
Spring Framework使您可以选择何时将应用程序扩展到完全加载的应用程序服务器.使用EJB CMT或JTA的唯一替代方法是使用本地事务(例如JDBC连接上的代码)编写代码,并且如果您需要在全局容器管理的事务中运行代码,则会面临大量的返工.使用Spring Framework,只需要更改配置文件中的一些bean定义,而不是代码.
| 归档时间: |
|
| 查看次数: |
16759 次 |
| 最近记录: |