• Hibernate 事务管理


    Hibernate事务管理:

      Hibernate本身没有实现自己的事务管理功能,而是对底层JDBC事务或JTA事务的轻量级封装

      Hibernate将底层的JDBCTransaction或JTATransaction进行了封装,再在外面套上Transaction和session的外壳,其实是通过委托底层的JDBC或JTA来实现事务的处理功能

      Hibernate的事务工厂类可以设置成JDBCTransactionFactory或者JTATransactionFactory。如果不进行配置,Hibernate就会认为系统使用的事务是JDBC事务

      在JDBC的提交模式(commit mode)中,如果数据库连接是自动提交模式(auto commit mode),那么在每一条SQL语句执行后事务都将被提交,提交后如果还有任务,那么一个新的事务又开始了

      Hibernate在Session控制下,在取得数据库连接后,就立刻取消自动提交模式,即Hibernate在一个执行Session的beginTransaction()方法后,就自动调用JDBC层的setAutoCommit(false)。如果想自己提供数据库连接并使用自己的SQL语句,为了实现事务,那么一开始就要把自动提交关掉(setAutoCommit(false)),并在事务结束时提交事务

      参考链接:http://blog.csdn.net/lifaming15/article/details/2564660

            <!-- 事务的隔离级别 -->
            <property name="hibernate.connection.isolation">4</property>
            
            <!-- 让session被ThreadLocal管理 -->
            <property name="current_session_context_class">thread</property>

       

  • 相关阅读:
    Oracle(二)常用操作语句
    Oracle(一)概念理解
    Spring MVC实现文件上传和下载
    Spring MVC 的执行流程
    Spring MVC原理及配置详解
    idea创建maven web项目
    Spring Bean的生命周期
    integer和int的区别
    web项目搜索框智能提示
    html-tab page
  • 原文地址:https://www.cnblogs.com/roxy/p/7645259.html
Copyright © 2020-2023  润新知