CustomSessionFactory.java
import
org.hibernate.Session;
import
org.hibernate.SessionFactory;
import
org.hibernate.Transaction;
import
org.hibernate.cfg.Configuration;
import
org.hibernate.service.ServiceRegistry;
import
org.hibernate.service.ServiceRegistryBuilder;
public
class
CustomSessionFactory {
private
static
SessionFactory
sessionFactory
;
private
static
Session
session
;
private
static
Transaction
transaction
;
public
static
Session getSession(){
init();
return
session
;
}
public
static
void
init(){
//创建配置对象,参数用于只想Hibernate配置文件路径
Configuration config=
new
Configuration().configure(
"/config/hibernate.cfg.xml"
);
//创建服务配置对象
ServiceRegistry serviceRegistry=
new
ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
//创建会话工厂对象
sessionFactory
=config.buildSessionFactory(serviceRegistry);
//创建会话对象
session
=
sessionFactory
.openSession();
//开启事务
transaction
=
session
.beginTransaction();
}
public
static
void
closeSession(){
//提交事务
transaction
.commit();
//关闭会话
session
.close();
//关闭会话工厂
sessionFactory
.close();
}
}