Hibernate4 和 Hibernate5 创建session的区别

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;
	}
}


你可能感兴趣的:(Hibernate)