HibernateUtil
 package com.wj.app.util;

 import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder; public class HibernateUtil {
public static final SessionFactory sessionFactory;
//ThreadLocal可以隔离多个线程的数据共享,因此不需要对线程进行同步
public static ThreadLocal<Session> session = new ThreadLocal<Session>();
static
{
//使用默认配置文件创建Configuration实例
Configuration cfg = new Configuration()
.configure(); //以Configuration实例来创建SessionFactory实例
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
.applySettings(cfg.getProperties())
.buildServiceRegistry(); /*ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
.applySettings(cfg.getProperties()).build();*/ sessionFactory = cfg.buildSessionFactory(serviceRegistry);
}
public static Session currentSession() { Session s = session.get();
//如果该线程还没有Session,则创建一个新的Session
if (s == null)
{
s = sessionFactory.openSession();
//将获得的Session变量存储在ThreadLocal变量session里
session.set(s);
}
return s;
} public static void clossSession() {
Session s = session.get();
if (s != null)
{
s.close();
}
session.set(null);
}
}

最新文章

  1. OpenGL: 纹理采样 texture sample
  2. 广播Broadcast Receiver
  3. Ansible用于网络设备管理 part 4 使用NAPALM成品库+Gabriele的方法+循环
  4. JavaScript基础——实现循环
  5. [LeetCode] Letter Combinations of a Phone Number
  6. 使用 google gson 转换Timestamp或Date类型为JSON字符串.
  7. Firefox 23中的新特性(新陷阱)
  8. eclipse快捷键调试总结【转】
  9. Java从零开始学四十五(Socket编程基础)
  10. Disruptor 源码阅读笔记--转
  11. javascript之数据推送
  12. python的相对路径导入问题
  13. Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)
  14. MVC 传参
  15. day_ha配置文件
  16. 面试的妹纸问我:web缓存设置不是后台的事情吗?
  17. Power BI 3-4月功能更新培训合集
  18. 聚簇索引(clustered index )和非聚簇索引(secondary index)的区别
  19. SEIG Modbus 3.4 CVE-2013-0662 漏洞分析与利用
  20. 【Finchley】【升级变更】Spring Cloud 升级到Finchley版本后需要注意的地方

热门文章

  1. Java集合类操作优化经验总结
  2. E. Three States - Codeforces Round #327 (Div. 2) 590C States(广搜)
  3. S2SH+Hibernate search出现的问题
  4. 微信小程序正式发布!这是最全的上手指南
  5. C++——cout输出小数点后指定位数
  6. getaccesstoken方法
  7. 九度OJ 题目1384:二维数组中的查找
  8. [TypeScript] Using Exclude and RootDir until File Globs Lands in 2.0.
  9. WIN32 根据程序名(映像名称)终止外部程序
  10. InnoDB MyISAM区别及优化(摘录)