`
finalbone
  • 浏览: 56680 次
  • 性别: Icon_minigender_1
  • 来自: 海边
社区版块
存档分类
最新评论

Hibernate与JDBC事务整合

阅读更多

最近摸索了一下Hibernate与JDBC(iBATIS)事务整合问题,算是有点收获,写出来和大家讨论一下吧。。。

一般大家都会使用Spring声明型事务 transactionAttributes 为 PROPAGATION_REQUIRED

Hibernate 使用 HibernateTransactionManager 、JDBC(iBATIS) 使用 DataSourceTransactionManager

当需要将它们整合到一个事务中的时候

普通的做法是配置统一的DataSource, Hibernate与JDBC(iBATIS) 都使用HibernateTransactionManager

坛子里有篇帖子已经详细论述了这种整合方案 http://www.iteye.com/topic/11063?page=2

------------------------------------------------------

Hibernate与JDBC(iBATIS) 都使用DataSourceTransactionManager又可不可以呢?

普遍的看法是 NO! 认为DataSourceTransactionManager根本就不处理Hibernate的session,事务当然无法实现。。。

但事实是否真的如此呢?

答案同样是 NO! http://forum.springframework.org/archive/index.php/t-9878.html

Juergen Hoeller:
Just if you proxy your JDBC DataSource with a TransactionAwareDataSourceProxy (available since Spring 1.1 RC1) and pass that proxy to your LocalSessionFactoryBean, you could use DataSourceTransactionManager in combination with Hibernate.

也就是说配置 sessionFactory  的 useTransactionAwareDataSource 为 true

Hibernate与JDBC(iBATIS)  都使用 DataSourceTransactionManager 同样可以保证事务

原理就是保证了 connection 的唯一性。

分享到:
评论

相关推荐

    SpringAOP整合Hibernate并使用事务

    将Spring与Hibernate整合并使用事务管理,能进一步提升应用的稳定性和效率。下面我们将详细讲解如何进行Spring AOP整合Hibernate以及如何在其中使用事务。 1. **Spring AOP简介** 面向切面编程(AOP)是Spring框架...

    hibernate与spring整合demo

    将Hibernate与Spring整合可以充分利用两者的优点,提高开发效率并降低复杂性。 一、Hibernate概述 Hibernate是Java世界中领先的ORM框架之一,它允许开发者用Java对象来操作数据库记录,而无需编写SQL语句。通过配置...

    SpringMVC与Hibernate整合所需jar

    本文将详细介绍SpringMVC与Hibernate整合所需的jar文件以及它们在整合过程中的作用。 首先,我们需要理解SpringMVC的核心组件。它包括DispatcherServlet(前端控制器)、HandlerMapping(处理器映射器)、...

    spring mvc + spring + hibernate 全注解整合开发视频教程 11

    Spring框架则是一个全面的企业级应用开发平台,它不仅包含Spring MVC,还提供了依赖注入(DI)、AOP(面向切面编程)、事务管理、JDBC抽象、缓存、任务调度等多个核心功能。在全注解开发中,我们可以使用@Autowired...

    struts2-hibernate3-spring整合需要的全部jar包

    它们各自负责不同的职责:Struts2用于控制应用程序的流程,Hibernate3则是优秀的对象关系映射(ORM)框架,Spring则提供全面的依赖注入(DI)和面向切面编程(AOP)功能,以及事务管理等企业级服务。将这三个框架...

    spring与hibernate的整合

    总结来说,Spring 与 Hibernate 的整合主要涉及 SessionFactory 的配置、DAO 类的实现以及事务管理。通过 Spring 的 IoC 容器管理数据访问资源,可以使应用更加解耦,同时利用 Spring 的事务管理功能,可以简化事务...

    hibernate与spring整合

    **标题:“Hibernate与Spring整合”** 在Java开发中,Hibernate和Spring都是不可或缺的框架。Hibernate是一个优秀的对象关系映射(ORM)工具,它简化了数据库操作,而Spring框架则提供了全面的应用程序管理,包括...

    hibernate框架jar包整合

    **hibernate框架jar包整合** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是底层的SQL语句。整合Hibernate框架到项目中,通常需要配置一...

    Spring+hibernate整合源代码

    Hibernate 则是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,将 Java 对象与数据库表进行映射,使得开发者可以使用对象而不是 SQL 来操作数据库。 Spring 和 Hibernate 的整合主要涉及到以下几个方面:...

    EJB与Hibernate的整合简述

    **EJB(Enterprise JavaBeans)与Hibernate的整合是Java企业级开发中的一项重要技术结合,主要目的是为了在EJB容器中充分利用Hibernate的持久化能力,提高数据管理的灵活性和效率。** EJB,全称为Enterprise ...

    springboot(4) 整合mybatis和hibernate

    在本教程中,我们将深入探讨如何在Spring Boot项目中整合MyBatis和Hibernate这两个流行的ORM框架。Spring Boot因其简化配置和快速开发的能力而备受青睐,而MyBatis和Hibernate则是Java世界里常用的持久层解决方案。...

    Hibernate_Druid整合源码

    《Hibernate与Druid整合实战详解》 在Java Web开发中,Hibernate作为一款强大的ORM(对象关系映射)框架,能够简化数据库操作,而Druid则是一款高性能、灵活且功能丰富的数据库连接池。当两者结合使用时,可以...

    Struts2 Spring3 Hibernate4 框架完美整合

    Spring还提供了数据访问抽象,如JDBC模板和ORM集成,包括Hibernate。 **Hibernate4框架**: Hibernate4是持久化框架,主要用于简化Java对象与数据库之间的交互。它通过ORM(对象关系映射)技术,将数据库操作转化为...

    Struts2+Hibernate+Spring整合开发深入剖析与范例应用03

    Spring还包含了数据访问抽象,如JDBC模板和DAO支持,以及对Hibernate的集成,方便在Spring环境中使用Hibernate。此外,Spring MVC是Spring提供的一个Web MVC框架,可以与Struts2协同工作,提供另一种实现MVC设计模式...

    spring+struts+hibernate+jdbc+oracle+jms+flex+flamingle+jquery+plsql

    它支持JDBC,并可以与Spring整合,实现事务管理和数据源配置。 JDBC(Java Database Connectivity)是Java标准的数据库连接接口,允许开发者直接操作数据库。在Hibernate等ORM框架下,JDBC作为底层支持,用于执行...

    Hibernate所需的整合jar包

    4. jdbcdriver.jar:根据所连接的数据库类型,可能包含相应的JDBC驱动,如mysql-connector-java.jar,用于建立Hibernate与数据库的连接。 5. log4j或slf4j.jar:日志记录库,Hibernate默认使用SLF4J作为日志接口,...

    struts2+hibernate+spring框架整合实列

    它通过配置文件或注解将Java类与数据库表关联起来,简化了数据库操作,使得开发者无需编写大量的JDBC代码即可实现数据的增删改查。 **Spring框架** 是一个全面的企业级应用框架,它提供了事务管理、AOP(面向切面...

    spring和hibernate整合

    《Spring与Hibernate整合详解》 在现代Java Web开发中,Spring和Hibernate是两个非常重要的开源框架,它们分别在依赖注入和对象关系映射(ORM)领域有着广泛的应用。Spring作为一个全面的轻量级应用框架,提供了...

    hibernate struts2 和spring的整合项目

    【标题】:“Hibernate、Struts2与Spring的整合项目” 【描述】:“这是一个将Hibernate、Struts2和Spring三大框架集成在一起的项目示例。它展示了如何在实际开发中有效地结合这三个强大的Java技术,实现数据持久层...

    Spring与Hibernate整合小例子

    "Spring与Hibernate整合"是为了实现业务逻辑层和数据访问层的高效协作。整合过程通常包括以下几个步骤: 1. **引入依赖**:首先,需要在项目中添加Spring和Hibernate的相关库。这通常通过Maven或Gradle的依赖管理来...

Global site tag (gtag.js) - Google Analytics