`
viva156
  • 浏览: 976 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Hibernate中的Session疑惑

阅读更多
本人对Hibernate不了解多少。
找了些代码来学习。
很多都是使用了MyEclipse给我们生成的一个HibernateSessionFactory来管理Session,其中有openSession(),以及关闭Session等等。。静态方法。
但是在自己DAO实现代码中,用完Session并没显示的调用HibernateSessionFactory中的关闭Session的方法。
想问一下。
Session到底是什么?我知道不同于HttpSession。
是不是和Connction一样?是不是有必要关闭?
或者Hibernate帮我们管理了Session的关闭?但我自己测试,框架并未调用关闭Session的方法。

官方文档中
Session sess = factory.openSession();
 Transaction tx;
 try {
     tx = sess.beginTransaction();
     //do some work
     ...
     tx.commit();
 }
 catch (Exception e) {
     if (tx!=null) tx.rollback();
     throw e;
 }
 finally {
     sess.close();
 }

这样管理的话?感觉代码很麻烦。当然Hibernate也对JNDI有支持
还请各位JavaEye的DX指教

http://www.dojochina.com/
分享到:
评论

相关推荐

    hibernate中session的管理

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

    hibernate中session对象的状态详解

    hibernate中session对象的状态详解

    Hibernate-nosession

    本文将深入探讨Hibernate-nosession的概念、应用场景以及如何在实际代码中实现。 首先,理解什么是Hibernate Session。Session是Hibernate中的核心接口,它充当了应用程序和数据库之间的桥梁,负责对象的持久化操作...

    重写hibernate的session简单增删改查

    "重写hibernate的session简单增删改查"是一个针对初学者的实践教程,旨在帮助理解如何在Hibernate中自定义Session的操作,以便更好地控制数据库交互。 一、Hibernate Session Hibernate的Session是与数据库交互的...

    hibernate和session学习

    在Hibernate中,`SessionFactory`是核心组件之一,它是线程安全的,用于创建`Session`对象。`SessionFactory`通常在应用启动时创建一次,然后在整个应用生命周期中复用。创建`SessionFactory`需要通过读取Hibernate...

    Hibernate(session管理)

    3. **事务管理**:在Session中进行的数据库操作通常需要包裹在Transaction中。我们可以使用Session的beginTransaction()方法开始一个事务,commitTransaction()提交事务,rollbackTransaction()回滚事务。事务处理...

    Hibernate_Session_Transaction

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

    Hibernate的Session的javadoc

    - **clear()**:清除Session中的所有对象,断开与所有持久化对象的关联。 - **connection()**:获取Session与数据库的连接,用于低级别操作。 - **close()**:关闭Session,释放资源,包括关闭JDBC连接。 - **...

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

    在 Hibernate 中,每个线程都需要一个 Session 对象来与数据库交互。如果未绑定 Session 到线程, Hibernate 将无法正确地执行数据库操作。 解决方案 解决该错误的方法很简单,只需在相应的 manager 实现类中添加 ...

    hibernate session生命周期示例

    这不仅释放数据库连接,还清理了Session中的缓存。不正确地管理Session可能导致内存泄漏和资源浪费。 在实际应用中,通常推荐使用Transaction模板或者Spring的HibernateTemplate或JpaTemplate,它们可以帮助你更好...

    hibernate的session.flush

    在Java的持久化框架Hibernate中,`Session`是与数据库交互的核心接口,它扮演着连接应用程序和数据库的角色。`Session.flush()`方法是一个关键的操作,它强制Hibernate将内存中的对象状态同步到数据库,确保数据的...

    Hibernate_session_factory_配置.docx

    在Java的持久层框架Hibernate中,SessionFactory是核心组件之一,它是线程安全的,负责创建Session对象,每个Session对应于数据库的一次会话。配置SessionFactory主要是通过Hibernate的配置文件(通常为hibernate....

    Hibernate Session释放模式

    在Java的持久化框架Hibernate中,Session对象是与数据库交互的核心组件,它负责管理对象的持久状态。在处理大量数据或者长时间运行的事务时,合理地管理Session的生命周期至关重要,这就涉及到了Hibernate的Session...

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

    首先,我们需要理解Session在Hibernate中的角色。Session是Hibernate的核心接口之一,它负责对象的持久化操作,比如保存、更新、删除和检索对象。Session对象就像一个临时的工作区域,用于在应用程序和数据库之间...

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

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

    hibernate的核心接口--Session

    - **定义**: Session 是 Hibernate 框架中最常用的接口之一,它又被称为持久化管理器。Session 负责所有与数据库交互的工作,包括管理持久化对象的生命周期,并通过提供第一级别的高级缓存来确保持久化对象的数据与...

    模拟hibernate的session.save()功能

    在这个"模拟hibernate的session.save()功能"的资源中,我们将深入理解Hibernate的核心操作之一:持久化对象。此程序源码的目的是帮助我们理解如何在没有Hibernate库的情况下实现类似的功能,这有助于我们更好地掌握...

    hibernate关于session的关闭实例解析

    关于 Hibernate 中 Session 的关闭实例解析 Hibernate 是一个流行的 Java 持久层框架,它提供了许多强大功能来管理数据库交互。Session 是 Hibernate 中的一种基本概念,它扮演着关键角色来管理数据库交互。本文将...

    Hibernate_11session

    一级缓存默认开启,它是自动的,当对象在Session中被修改并提交后,这些变化会被立即写入数据库。二级缓存则需要手动配置和使用,可以提高数据读取性能。 六、Session的最佳实践 1. **短生命周期**:Session应保持...

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

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

Global site tag (gtag.js) - Google Analytics