`

Configuration_SessionFactory_GetCurrentSession_OpenSession以及Hibernate中的三种状态

 
阅读更多
SessionFactory sf = new Configuration().configure().buildSessionFactory();
实例化一个new Configuration()对象后通过configure()方法获取hibernate的配置文件hibernate.cfg.xml里的数据库配置信息后,通过buildSessionFactory()方法获取数据库连接池对象

改一下Hibernate的配置文件名:hibernate.xml
也可以这样写
SessionFactory sf = new Configuration(“hibernate.xml”).configure().buildSessionFactory();


Session session = sessionfactory.openSession();
session.heginTransaction();
session.save(t);
session.getTransaction().commit();
session.close();
上面的openSession()每一次都会重新打开一个Session,每一次都是新的,并且每打开

一个执行后都要手动关闭Session对象

Session session = sessionfactory.getCurrentSession();
session.heginTransaction();
session.save(t);
session.getTransaction().commit();
上面的getCurrentSession()的Session会从上下文找,如果有,用旧的,如果没有新建

一个Session
当你commit()后就会自动关闭Session对象。

一个事务说明二个操作全部都完成,要不二个都不完成通过



<property name="current_session_context_class">thread</property>
可以分为 Thread线程事务和JTA分布式事务
数据同时访问二个数据添加信息,
如果二个都添加成功了,说明执行成功
如果有一个添加失败,说明执行失败
这时就要使用JTA事务管理器来执行。
<property name="current_session_context_class">thread</property> 这个配置不可缺少



Hibernate中的三种状态:



http://www.secn.com.cn
  • 大小: 56.5 KB
分享到:
评论

相关推荐

    Hibernate的框架的总结

    本文详细介绍了Hibernate框架中的核心配置文件`hibernate.cfg.xml`及其配置项、映射文件`xxx.hbm.xml`,以及核心API如Configuration和SessionFactory的使用方法,并对C3P0连接池进行了简要说明。通过这些内容的学习...

    Hibernate说明文档.rar_ajax_hibernate

    在Java项目中,通过`Configuration`类加载配置并创建`SessionFactory`,它是所有数据库会话的工厂。 ```java Configuration config = new Configuration().configure(); SessionFactory sessionFactory = config....

    开始冬眠_Hibernate教程

    - **主配置文件**:`hibernate.cfg.xml` 是Hibernate的核心配置文件,用于配置数据库连接信息、日志级别以及一些全局性的设置。例如,可以通过这个文件来设置连接池、方言等。 ```xml &lt;hibernate-configuration&gt;...

    hibernate 4.3.10 版本的笔记

    通过以上步骤和细节的介绍,我们对Hibernate 4.3.10版本有了较为全面的理解,包括环境搭建、实体映射、SessionFactory和Session的使用,以及生命周期状态的概念等。这对于开发者来说是非常宝贵的知识点,能够帮助...

    hibernate.jar包

    - 获取Session:通过SessionFactory的openSession()或getCurrentSession()获取Session实例。 - 开启事务:在Session上开始一个新的数据库事务。 - 对象操作:执行增删改查操作,如save()、update()、delete()、...

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

    // 从当前线程中 (ThreadLocal) 中,把 session 提取出来如果没有就使用 openSession() Session session = sessionFactory.getCurrentSession(); // Hibernate 的所有操作都必须在事务中 Transaction transaction =...

    Hibernate3.6(开发必看).pdf

    Hibernate是一个开源的对象关系映射(ORM)框架,用于将Java对象映射到关系型数据库中。Hibernate 3.6版本是一个重要的版本,提供了许多改进和新特性。本文将探讨Hibernate 3.6中的相关知识点,包括Java API、ORM...

    hibernate学习笔记

    三、Hibernate基础配置 1. `Hibernate.cfg.xml`配置文件: - `show_sql`: 控制是否显示执行的SQL语句。 - `format_sql`: 是否格式化输出SQL。 - `hbm2ddl.auto`: 自动建表或更新表的策略,如`create`、`update`等...

    hibernate黑马全视频重点记录

    `openSession()`和`getCurrentSession()`用于获取Session实例,`save()`, `saveOrUpdate()`, `delete()`分别用于对象的持久化操作。`refresh()`刷新对象状态,`clear()`清除Session中的所有对象,`evict()`则用于从...

    hibernate核心知识

    Hibernate是一种Object-Relational Mapping(ORM)框架,它的主要目标是简化Java应用程序中的数据库操作,使得开发者能够将精力集中在业务逻辑上,而非底层的SQL语句和数据库交互。Hibernate通过将Java对象与数据库...

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

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

    hibernate学习教程

    - Session的获取:通过SessionFactory的openSession()或getCurrentSession()方法。 - CRUD操作:使用Session的save(), saveOrUpdate(), get(), update(), delete()等方法。 - 查询:使用Criteria API或HQL进行...

    J2EE考试题目及答案定义.pdf

    六、SessionFactory中的openSession()和getCurrentSession()方法 openSession()和getCurrentSession()方法都是用于获取Session对象的方法,但它们有所不同。getCurrentSession创建的Session对象会和当前...

    hibernate笔记

    #### 三、Hibernate API使用 Hibernate提供了丰富的API来支持各种数据库操作,主要包括以下几个方面: 1. **Configuration**:用于读取配置文件,并加载映射文件。 - `configure()`方法:读取默认配置文件。 ...

    J2EE考试题目及答案.doc

    本文主要探讨了几个关于J2EE的重要知识点,包括其四层模型、对象持久化、ORMapping(对象关系映射)、使用Hibernate实现对象持久化的步骤、序列化的作用,以及SessionFactory和Session中的特定方法的区别。...

    Hibernat简要知识.docx

    - **功能概述**:用于加载Hibernate的配置信息,这些信息存储在`hibernate.cfg.xml`文件中,该文件定义了数据源信息以及Hibernate使用的各种属性,比如数据库方言(dialect)、显示SQL语句开关等。 - **方法详解**...

    10分钟解决Hibernate的事务管理,Hibernate当中要设置事务的隔离级别

    对于服务层的事务管理,Hibernate提供了一种便捷的方式,通过`getCurrentSession`方法获取当前线程绑定的Session对象。这样可以实现线程局部的事务管理,简化代码并提高效率。以下是一个示例的Hibernate工具类配置:...

    Hibernate 主清单文件配制的详细介绍

    获取Session有两种常用的方法:一种是使用getCurrentSession()获取当前线程绑定的Session,另一种是使用openSession()方法来创建一个新的Session。 通过以上介绍,我们可以看到Hibernate的配置文件和相关API的使用...

    OA项目SSH整合框架

    Assert.assertNotNull(sessionFactory.openSession()); } 2,配置声明式事务(使用基于注解的方式) 1,配置 &lt;!-- 配置事务管理器 --&gt; ...

Global site tag (gtag.js) - Google Analytics