大家都知道,使用Hibernate对数据进行操作最重要的是获得一个Session。
首先获得一个SessionFactory,通过.config().buildSessionFactory(),获得一个SessionFactory
进而取得Session的方法在Hibernate里有两种:
1:Session session = sessionFactory.openSession();
该种方法是创建一个新的session,不论当前的环境中是否已经创建,都会创建;
且当session提交成功后,需要手动关闭这个session;
2:Session session = sessionFactory.getCurrentSession();
该方法是获取当前环境中的session,若环境中已经存在session,则取出当前的;若无session则创建一个新的,
只要当前的session提交后,该session会自动关闭,其后再使用getCurrentSession()方法,则是创建一个新的session;
使用以上两种方式还需要注意的是事务控制,如果使用第一种方法,openSession()也许会导致数据的不一致,
例如在用户管理功能模块中,我们对用户的各种操作都需要做日志记录,此时要两张数据表同时提交成功,否则都不进行数据的写入;所以我们要使用第二种方式来取得session。
特别强调:这两种取得Session的方法不能混用。原因很简单,在Hibernate中,Session是一个接口。两个获取session的方法并非是同一个实现,故不可混用!
分享到:
相关推荐
hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记 hibernate学习笔记
Hibernate学习笔记 Hibernate学习笔记 Hibernate学习笔记 Hibernate学习笔记
Hibernate学习笔记Hibernate学习笔记Hibernate学习笔记Hibernate学习笔记
学习hibernate框架时,整理的笔记,对hibernate框架有全面的介绍
Hibernate学习笔记_特别详细 Hibernate学习笔记_特别详细
hibernate 学习笔记精要hibernate 学习笔记精要hibernate 学习笔记精要hibernate 学习笔记精要
hibernate学习笔记 hibernate
hibernate的学习笔记,hibernate所以知识点全,一看就能上手........包含代码和书写格式和图片分析~~~~hibernate的学习笔记,hibernate所以知识点全,一看就能上手........包含代码和书写格式和图片分析~~~~...
达内HIBERNATE学习笔记,达内HIBERNATE学习笔记,达内HIBERNATE学习笔记,达内HIBERNATE学习笔记,
hibernate个人学习笔记完整版 hibernate个人学习笔记完整版
这套笔记是我学习Hibernate,进行相关技术点训练时记录下来的,其中包括技术点说明与相关事例,拿出来与大家分享。
Hibernate3 学习笔记.ppt 一、O/R Mapping 二、Hibernate入门 三、Hibernate映射申明(Mapping declaration) 四、Hibernate Annotations 五、持久化对象的状态和生命周期 六、Hibernate查询 七、Hibernate最佳实践 ...
hibernate概述,hibernate入门Demo,hibernate配置文件详解(全局配置,实体类映射配置),配置实体规则,核心API详解(Configuration,sessionFactory,session,Transaction),hibernate中的对象状态以及刷新能缓存机制 ...
hibernate学习笔记文档
hibernate-学习笔记学习笔记学习笔记学习笔记学习笔记学习笔记学习笔记学习笔记学习笔记学习笔记
此为hibernate框架开发2016版视频的四天学习笔记完整版,源自课程老师发布。
Unix 学习笔记 Core Java 学习笔记 Tiger 学习笔记 ...Hibernate 学习笔记 HTML&JavaScript 学习笔记 Servlet 学习笔记 JSP 学习笔记 Struts 学习笔记. Ajax 学习笔记 EJB 学习笔记 Spring 学习笔记