zoukankan      html  css  js  c++  java
  • SpringMVC中的几种事务管理器

     转载https://blog.csdn.net/qq_26222859/article/details/52032853

    1JDBC及iBATIS、MyBatis框架事务管理器

    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    通过dataSource属性指定需要事务管理的单个javax.sql.DataSource对象。在幕后DataSourceTransactionManager通过调用java.sql.Connection来管理事务,而后者是通过DataSource获取到的。通过调用连接的commit()方法来提交事务。同样,事务失败时通过调用rollback()方法进行回滚。

    2Hibernate事务管理器

    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    在幕后HibernateTransactionManager将事务管理的职责委托给org.hibernate.Transaction对象,而后者是从Hibernate Session中获取到的。当事务成功完成时,HibernateTransactionManager将会调用Transaction对象的commit()方法来提交事务。同样,事务失败时通过调用Transaction的rollback()方法进行回滚。

    3Jpa事务管理器

    <bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory"/>
    </bean>

    通过entityManagerFactory属性指定需要事务管理的javax.persistence.EntityManagerFactory对象。

    还需要为entityManagerFactory对象指定jpaDialect属性,该属性所对应的对象指定了如何获取连接对象、开启事务、关闭事务等事务管理相关的行为。

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
            ……
            <property name="jpaDialect" ref="jpaDialect"/>
    </bean>
    <bean id="jpaDialect" class="org.springframework.orm.jpa.vendor.HibernateJpaDialect"/>

    4Jdo事务管理器

    <bean id="txManager" class="org.springframework.orm.jdo.JdoTransactionManager">
        <property name="persistenceManagerFactory" ref="persistenceManagerFactory"/>
    </bean>

    通过persistenceManagerFactory属性指定需要事务管理的javax.jdo.PersistenceManagerFactory对象。

  • 相关阅读:
    windows 启动关闭Oracle监听和服务
    自定义 Git
    c++ cmakelist 详解
    vue自定义错误界面
    C++ Web 编程
    前端如何将H5页面打包成本地app?
    django教程
    部署 Django
    Django 国际化和本地化
    Django与CSRF 、AJAX
  • 原文地址:https://www.cnblogs.com/miye/p/9292649.html
Copyright © 2011-2022 走看看