package com.ask.util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
/*
* 创建一个session对象
* 使用的是单例模式
*/
public class HibernateUtil {
//提供私有的对象
private static SessionFactory sessionFactory;
//提供一个私有的构造方法,避免给外界去创建对象
private HibernateUtil(){}
public static SessionFactory getSessionFactory(){
//加载hibernate的总配置文件
Configuration cfg=new Configuration().configure();
//注册serviceRegistry对象
ServiceRegistry serviceRegistry=
new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
//解决线程安全问题
if (sessionFactory==null) {
//使用同步锁解决多个线程创建对象
synchronized(HibernateUtil.class){
//解决:只能创建一次
if (sessionFactory==null) {
sessionFactory=cfg.buildSessionFactory(serviceRegistry);
}
}
}
return sessionFactory;
}
}
Hibernate创建sessionFactory工具类
原创wx62e9cee37942d 博主文章分类:Hibernate ©著作权
文章标签 Hibernate创建sessionFa sessionFactory工具类 Hibernate工具类 工具类 hibernate 文章分类 后端开发
©著作权归作者所有:来自51CTO博客作者wx62e9cee37942d的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
新Hibernate SessionFactory().getCurrentSession()猫腻
要依据依据配置就可以用了Java代
hibernate Java xml -
Hibernate - SessionFactory和Session详解
【1】SessionFactory 接口SessionFactory 接口是针对单个数据库映射关系经过编译后的内存镜像,是线程安全的。SessionFactory 对象一旦构造完毕
Hibernate sessionFactory session hibernate 缓存 -
hibernate工具类
hibernate工具类
hibernate 封装 System