threadlocal报错

不开窍的鱼 不开窍的鱼 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
package com.yinbo.tbms.jljiao;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
public class HibernateSessionFactory {
private static String CONFIG_FILE_LOCATION="/hibernate.cfg.xml";
private static final ThreadLocal<Session>thredLocal=new ThreadLocal<Session>();
private static Configuration configuration=new Configuration();
private static org.hibernate.SessionFactory sessionFactory;
private static String configFile=CONFIG_FILE_LOCATION;
static{
try{
configuration.configure(configFile);
sessionFactory=configuration.buildSessionFactory();
}catch(Exception e){
System.err.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
private HibernateSessionFactory()
{
}
public static Session getSession() throws HibernateException
{
Session session=(Session)threadLocal.get();
if(session==null||!session.isOpen())
{
rebuildSessionFactory();
}
session=(sessionFactory!=null)?sessionFactory.openSession():null;

threadLocal.set(session);
return session;
}
public static void rebuildSessionFactory(){

try{
configuration.configure(configFile);
sessionFactory=configuration.buildSessionFactory();
}catch(Exception e){
System.err.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}
public static void closeSession() throws HibernateException{

Session session=(Session)threadLocal.get();
threadLocal.set(null);
if(session!=null)
{
session.close();
}
}
public static org.hibernate.SessionFactory getSessionFactory(){
return sessionFactory;
}
public static void setConfigFile(String conFile){
HibernateSessionFactory.configFile=configFile;
sessionFactory=null;
}
public static Configuration getConfiguration(){
return configuration;
}
}
...全文
评论 1
收藏 已收藏
分享
返回顶部
不开窍的鱼
Web 开发 81,108 成员 341,721 内容