Hibernate4 和 Hibernate5 创建session的区别
Hibernate4 创建session:
package cn.sz.utils;
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 Session getSession() {
Session session = null;
// 创建一个读取主配置文件的对象
Configuration cfg = new Configuration();
// 读取主配置文件
cfg.configure();
// 在4.x版中创建sessionfactory时,需要传入一个参数serviceRegistry
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties())
.buildServiceRegistry();
// 创建Session工厂
SessionFactory factory = cfg.buildSessionFactory(serviceRegistry);
// 打开Session
// session = factory.openSession();
// 如果在主配置文件将session绑定到线程中,所以可以从线程中取出session
session = factory.getCurrentSession();
return session;
}
}
Hibernate5 创建session:
package cn.sz.utils;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
public static Session getSession() {
Session session = null;
// 创建一个读取主配置文件的对象
Configuration cfg = new Configuration();
// 读取主配置文件
cfg.configure();
// 创建Session工厂
SessionFactory factory = cfg.buildSessionFactory();
// 打开Session
// session = factory.openSession();
// 如果在主配置文件将session绑定到线程中,所以可以从线程中取出session
session = factory.getCurrentSession();
return session;
}
}