一个简单的Hibernate工具类HibernateUtil
HibernateUtil
1 package com.wj.app.util; 2 3 import org.hibernate.Session; 4 import org.hibernate.SessionFactory; 5 import org.hibernate.cfg.Configuration; 6 import org.hibernate.service.ServiceRegistry; 7 import org.hibernate.service.ServiceRegistryBuilder; 8 9 public class HibernateUtil { 10 public static final SessionFactory sessionFactory; 11 //ThreadLocal可以隔离多个线程的数据共享,因此不需要对线程进行同步 12 public static ThreadLocal<Session> session = new ThreadLocal<Session>(); 13 static 14 { 15 //使用默认配置文件创建Configuration实例 16 Configuration cfg = new Configuration() 17 .configure(); 18 19 //以Configuration实例来创建SessionFactory实例 20 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder() 21 .applySettings(cfg.getProperties()) 22 .buildServiceRegistry(); 23 24 /*ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() 25 .applySettings(cfg.getProperties()).build();*/ 26 27 sessionFactory = cfg.buildSessionFactory(serviceRegistry); 28 } 29 public static Session currentSession() { 30 31 Session s = session.get(); 32 //如果该线程还没有Session,则创建一个新的Session 33 if (s == null) 34 { 35 s = sessionFactory.openSession(); 36 //将获得的Session变量存储在ThreadLocal变量session里 37 session.set(s); 38 } 39 return s; 40 } 41 42 public static void clossSession() { 43 Session s = session.get(); 44 if (s != null) 45 { 46 s.close(); 47 } 48 session.set(null); 49 } 50 }
本博客文章皆出于学习目的,个人总结或摘抄整理自网络。引用参考部分在文章中都有原文链接,如疏忽未给出请联系本人。另外,作为一名菜鸟程序媛,如文章内容有错误,欢迎点击博客右上方的扣扣链接指导交流。
标签:
Hibernate
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· Vite CVE-2025-30208 安全漏洞
· 《HelloGitHub》第 108 期
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· MQ 如何保证数据一致性?