知识大全 Hibernate 基于JDBC的事务[1]

Posted

篇首语:人非圣贤,孰能无过。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Hibernate 基于JDBC的事务[1]相关的知识,希望对你有一定的参考价值。

Hibernate 基于JDBC的事务[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Hibernate 是JDBC 的轻量级封装 本身并不具备事务管理能力 在事务管理层 Hibernate将其委托给底层的JDBC或者JTA 以实现事务管理和调度功能

  Hibernate的默认事务处理机制基于JDBC Transaction 我们也可以通过配置文件设定采用JTA作为事务管理实现

  Java代码

<hibernate configuration>    <session factory>    ……    <property name= hibernate transaction factory_class >    net sf hibernate transaction JTATransactionFactory    <! net sf hibernate transaction JDBCTransactionFactory >    </property>    ……    </session factory>    </hibernate configuration>  <hibernate configuration><session factory>……<property name= hibernate transaction factory_class >net sf hibernate transaction JTATransactionFactory<! net sf hibernate transaction JDBCTransactionFactory ></property>……</session factory></hibernate configuration>

  基于JDBC的事务管理将事务管理委托给JDBC 进行处理无疑是最简单的实现方式 Hibernate 对于JDBC事务的封装也极为简单

  我们来看下面这段代码

  Java代码

session = sessionFactory openSession();    Transaction tx = session beginTransaction();    ……    tx mit();  session = sessionFactory openSession();Transaction tx = session beginTransaction();……tx mit();从JDBC层面而言 上面的代码实际上对应着 Java代码 Connection dbconn = getConnection();    dbconn setAutoCommit(false);    ……    dbconn mit();  Connection dbconn = getConnection();dbconn setAutoCommit(false);……dbconn mit();

  就是这么简单 Hibernate并没有做更多的事情(实际上也没法做更多的事情) 只是将这样的JDBC代码进行了封装而已

  这里要注意的是 在sessionFactory openSession()中 hibernate会初始化数据库连接 与此同时 将其AutoCommit 设为关闭状态(false) 而其后 在Session beginTransaction 方法中 Hibernate 会再次确认Connection 的AutoCommit 属性被设为关闭状态( 为了防止用户代码对session 的Connection AutoCommit属性进行修改)

cha138/Article/program/Java/ky/201311/29042

相关参考

知识大全 Hibernate 基于JDBC的事务[4]

Hibernate基于JDBC的事务[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Jav

知识大全 Hibernate 基于JDBC的事务[3]

Hibernate基于JDBC的事务[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Jav

知识大全 Hibernate 基于JDBC的事务[2]

Hibernate基于JDBC的事务[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这也就

知识大全 Hibernate 基于JDBC的事务[5]

Hibernate基于JDBC的事务[5]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  实际上

知识大全 JDBC+Hibernate将Blob数据写入Oracle

JDBC+Hibernate将Blob数据写入Oracle  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 hibernate的性能优化

  Hibernate是对JDBC的轻量级封装因此在很多情况下Hibernate的性能比直接使用JDBC存取数据库要低然而通过正确的方法和策略在使用Hibernate的时候还是可以非常接近直接使用JD

知识大全 hibernate的优化-事务处理

  事务概述  事务就是指作为单个逻辑工作单元执行的一组数据操作这些操作要么必须全部成功要么必须全部失败以保证数据的一致性和完整性事务具有ACID属性  原子性自然界最小的事务的内容要么都做要么都不做

知识大全 如何使用Hibernate来管理事务

如何使用Hibernate来管理事务  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在数据库应用

知识大全 在Spring中配置Hibernate的事务

在Spring中配置Hibernate的事务  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文

知识大全 分析Hibernate的事务处理机制

分析Hibernate的事务处理机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hibern