`

在hibernate和spring集成中使用openSession还是getCurrentSession

 
阅读更多

在hibernate和spring集成之后,如果我们使用spring配置注入的sessionFactory生成session,这个时候我们一定要注意使用getCurrentSession()而不要使用openSession,这是因为spring去管理事务,getCurrentSession()始终返回的是同一个对象,当出问题的时候,事务会自动回滚,而openSession()则返回不同的对象,出了问题,由于是不同的session,就会发生不能自动回滚的现象,所以使用的时候一定要注意!

分享到:
评论

相关推荐

    hibernate-spring整合

    在Spring中,我们可以使用SessionFactory的openSession()或getCurrentSession()方法获取Session实例。 4. **事务管理**: Spring提供PlatformTransactionManager接口,可以用来管理数据库事务。在Hibernate整合中,...

    SessionFactory.getCurrentSession与openSession的区别

    在实际开发中,考虑到性能和事务管理的复杂性,通常推荐使用SessionFactory.getCurrentSession(),尤其是在企业级应用中,因为它能更好地与Spring等框架集成,提供透明的事务管理。 标签中的“源码”意味着深入理解...

    ssh中getCurrentSession的使用

    在描述中提到的"ssh中getCurrentSession的使用",实际上可能是指在SSH集成框架中使用Hibernate框架时,获取数据库会话(Session)的方法。 在Hibernate中,`getCurrentSession()`是SessionFactory类的一个方法,它...

    getCurrentSession 与 openSession() 的区别

    在Java的Hibernate框架中,`getCurrentSession()` 和 `openSession()` 都是用于获取与数据库交互的Session对象,但它们之间存在显著的区别。理解这些差异对于优化数据访问性能和管理事务至关重要。 首先,`...

    Spring与Hibernate集成中的session

    本文将详细探讨Spring与Hibernate的集成,特别是如何在集成环境中使用和管理`Session`。 首先,Spring作为一个轻量级的框架,提供了强大的依赖注入(DI)和面向切面编程(AOP)功能,它可以帮助我们解耦应用程序...

    Hibernate4Spring3

    在Spring中,我们可以使用`SessionFactory.openSession()`或`SessionFactory.getCurrentSession()`方法获取Session实例。 4. **事务管理**:Spring提供了声明式事务管理,只需在方法上添加@Transactional注解,即可...

    新Hibernate SessionFactory().getCurrentSession()猫腻

    标题中的“新Hibernate SessionFactory().getCurrentSession()猫腻”指的是在使用Hibernate ORM框架时,一个常见但不为人熟知的细节,即SessionFactory().getCurrentSession()方法的使用。在深入讲解这个知识点之前...

    Spring视频教程(3)

    《Spring视频教程(3)》是面向初学者...总的来说,《Spring视频教程(3)》深入浅出地介绍了Spring在实际开发中的应用,特别是与Hibernate和Struts的集成,以及事务管理和AOP等核心概念,是提升开发者技能的宝贵资源。

    详细解释Spring与Hibernate的整合原理

    下面是一个简单的示例,展示如何在 Spring 配置文件中定义数据源并将其与 Hibernate 集成: ```xml <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> ...

    HIBERNATE4开发文档,HIBERNATE4的变化

    在Hibernate4的开发中,相较于之前的版本,存在一些显著的变化,这些变化主要集中在session管理、事务处理、缓存配置以及与Spring框架的集成等方面。以下将详细解释这些关键点: 1. **Spring3.1与Hibernate4的整合*...

    spring_hibernate_annotation的三种实现

    在IT行业中,Spring和Hibernate是两个非常重要的框架,它们分别专注于依赖注入和对象关系映射。本篇文章将探讨如何在实际开发中结合Spring和Hibernate,利用注解来实现数据访问层(DAO)的操作。注解使得代码更加...

    开始冬眠_Hibernate教程

    在企业级应用开发中,通常会将Hibernate与Spring框架一起使用,以实现更高效的开发和更好的代码组织。 - **整合的意义**:Spring框架提供了一种简单的机制来配置和管理Hibernate实例,同时提供了AOP的支持,使得...

    hibernate.jar包

    在SSH框架中,Spring负责管理和注入SessionFactory,Struts处理请求并调用业务逻辑,而Hibernate负责数据持久化。Spring通过AOP(面向切面编程)实现事务管理,使得SSH框架的分工明确,协同高效。 5. Hibernate的...

    hibernate登录页面测试

    在Hibernate中,我们可以使用Session工厂(SessionFactory)和Session对象来实现。SessionFactory是线程安全的,用于创建Session对象,而Session是数据库会话,用于执行CRUD操作。 ```java private SessionFactory ...

    Hibernate说明文档.rar_ajax_hibernate

    后端使用Spring MVC或Servlet处理请求,通过Hibernate获取数据,并返回JSON响应。 ```java @RequestMapping("/fetchUser") @ResponseBody public User getUser(@RequestParam Long userId) { return ...

    SSH框架部分常见面试题.pdf

    openSession 和 getCurrentSession 是 Hibernate 中的两个会话方法,openSession 用于创建新的会话,getCurrentSession 用于获取当前会话。 saveOrUpdate() 和 merge() saveOrUpdate() 和 merge() 是 Hibernate 中...

    Hibernate3.6(开发必看).pdf

    例如,在Spring框架中,可以利用依赖注入(DI)来配置Session工厂,而在非Spring环境中,需要手动创建SessionFactory和Session。 以下是一些Hibernate 3.6版本中的操作示例: 1. 保存一个Customer对象到数据库中:...

    SSH-Jsp期末考试简答题带答案

    openSession()和getCurrentSession()是Hibernate中两个重要的Session创建方法。采用getCurrentSession()创建的Session会绑定到当前的线程中去,而采用openSession()则不会。getCurrentSession()创建的Session在...

    JAVAEE试题(含答案).docx

    这两个方法的区别在于,openSession()方法可以在一个线程中使用不同的Session,而getCurrentSession()方法则可以在同一线程中,保证使用同一个Session。 三、填空题解释 1. MVC的三个组成部分:MVC的三个组成部分...

Global site tag (gtag.js) - Google Analytics