`
mamaoyuan625
  • 浏览: 176911 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Hibernate中拿到session的两种方式

阅读更多
1:openSession()
Configuration cf = new Configuration().configure();
SessionFactory sf = cf.buildSessionFactory();
Session session = sf.openSession();

2:getCurrentSession():

Configuration cf = new Configuration().configure(); 
cf.buildSessionFactory().getCurrentSession();

 区别:

* 采用getCurrentSession()创建的session会绑定到当前线程中,而用openSession()
   创建的session则不会
 * 采用getCurrentSession()创建的session在commit或rollback时会自动关闭,而采用openSession()
   创建的session必须要显示的手动关闭session.close();

 

使用getCurrentSession()需要在hibernate.cfg.xml文件中加入如下配置:
 * 如果使用的是本地事务(jdbc事务)
 <property name="hibernate.current_session_context_class">thread</property>
 * 如果使用的是全局事务(jta事务)
 <property name="hibernate.current_session_context_class">jta</property>    

分享到:
评论

相关推荐

    Hibernate-nosession

    总结来说,Hibernate-nosession是一种优化策略,它适合于那些对性能要求较高且不涉及复杂业务逻辑的场景。通过避免频繁打开和关闭Session,可以减少资源消耗,提高系统的响应速度。在实际开发中,我们需要根据项目...

    Hibernate中获取Session的两种方式代码示例

    Hibernate中获取Session的两种方式代码示例 Hibernate 是一个流行的基于Java的持久层框架,提供了对数据库的访问和操作。Session 是 Hibernate 中一个核心概念,负责管理应用程序与数据库之间的交互。获取 Session ...

    hibernate中session的管理

    在Hibernate框架中,Session是与数据库交互的主要接口,它负责对象的持久化操作。然而,由于Session不是线程安全的,所以在多线程环境中管理Session就需要特别注意。本篇文章将详细探讨Hibernate中Session的管理,...

    Hibernate(session管理)

    本文将深入探讨Hibernate中的核心概念——Session管理。 首先,理解Session在Hibernate中的角色至关重要。Session是Hibernate的主要工作单元,它是应用程序与数据库之间的桥梁。它负责保存、检索和更新Java对象,...

    Hibernate Session释放模式

    本文将深入探讨Hibernate Session的几种释放模式,以及它们在实际开发中的应用和优缺点。 1. **Transaction边界Session(Transaction Bound Session)** 这是最常见的Session管理方式,通常与Spring的@...

    hibernate中session对象的状态详解

    hibernate中session对象的状态详解

    Hibernate_Session_Transaction

    在Java的持久化框架Hibernate中,`Session`和`Transaction`是两个至关重要的概念,它们在数据管理和事务处理中起到核心作用。这篇文章将深入解析这两个概念及其相关知识点。 `Session`是Hibernate提供的一种与...

    hibernate 执行原生sql的几种方式

    本篇文章将详细介绍在Hibernate中执行原生SQL的几种方式,以及它们各自的适用场景和优缺点。 1. **使用`Session.createSQLQuery()`** Hibernate的`Session`接口提供了`createSQLQuery()`方法,允许我们直接编写SQL...

    hibernate和session学习

    在上述代码中,我们首先通过`SessionFactory`获取`Session`实例,然后开启事务,接着创建一个新的`User`对象并保存到数据库,最后提交事务并关闭`Session`。 在实际应用中,我们通常会将`SessionFactory`和`Session...

    重写hibernate的session简单增删改查

    在Java的持久化框架中,Hibernate是一个非常流行的ORM(对象关系映射)工具,它使得开发者可以使用面向对象的方式来操作数据库。"重写hibernate的session简单增删改查"是一个针对初学者的实践教程,旨在帮助理解如何...

    hibernate session生命周期示例

    在Hibernate中,事务和Session是紧密关联的,事务的边界通常定义了Session的工作范围。 3. **持久化操作**: - **加载和检索**:使用`get()`或`load()`方法可以加载一个实体,如果对象存在于数据库,Hibernate将...

    org.hibernate.HibernateException: No Hibernate Session bound to thread

    这样,在查询操作中,Hibernate Session 将被正确地绑定到当前线程。 而在插入、修改和删除操作中,我们需要添加不同的注解: @Transactional(readOnly=false, propagation=Propagation.REQUIRED) public void ...

    Spring与Hibernate集成中的session

    在Java Web开发中,Spring和Hibernate是两个非常重要的框架,它们分别处理依赖注入和对象关系映射(ORM)。本文将详细探讨Spring与Hibernate的集成,特别是如何在集成环境中使用和管理`Session`。 首先,Spring作为...

    hibernate--3.Hibernate数据持久化(通过 Session 操纵对象)

    总的来说,Hibernate的Session接口提供了一套完整的对象持久化和数据库操作机制,使得开发者能够以面向对象的方式处理数据,极大地提高了开发效率和代码的可读性。通过深入理解和熟练运用Session,可以轻松地在Java...

    hibernate的缓存机制和session对象的产生方式案例

    通常有以下两种创建Session的方式: 1. 显式打开和关闭Session: 在这种模式下,开发者需要显式调用SessionFactory的openSession()方法来创建Session,并在事务完成后调用close()方法关闭Session。这种方式适用于...

    hibernate的session.flush

    `Session.flush()`方法是一个关键的操作,它强制Hibernate将内存中的对象状态同步到数据库,确保数据的一致性。这篇博客深入探讨了`Session.flush()`的工作原理和应用场景。 `Session`在Hibernate中主要有以下职责...

    spring+springmvc+hibernate+redis实现session共享demo

    在这个示例中,Redis充当session存储,替代了默认的JVM内存session存储方式。通过将session对象序列化并存储在Redis中,可以确保在多个服务器之间共享session数据。 5. **Nginx**:Nginx是一个高性能的HTTP和反向...

    hibernate02:session对象、hql查询、在线查询也叫对象查询、离线查询

    在Hibernate中,`Session`是应用程序与数据库之间的桥梁,它是ORM(Object-Relational Mapping)的主要工作接口。`Session`提供了在数据库中保存、更新和删除对象的方法,同时也负责加载或检索对象。它具有事务管理...

    实现自己的Hibernate框架之Session 方法实现

    在Hibernate中,Session是与数据库交互的主要接口,它负责对象的持久化、查询以及事务管理。Session的方法包括保存、更新、删除、加载、查询等,这些都是ORM框架的基础功能。 1. **保存(save())**:当新创建一个...

    Hibernate_11session

    《深入理解Hibernate Session:从配置到实践》 Hibernate,作为Java领域中一款广泛使用的对象关系映射(ORM)框架,极大地简化了数据库操作。在Hibernate中,Session是连接应用程序和数据库的重要桥梁,它负责对象...

Global site tag (gtag.js) - Google Analytics