阅读背景:

Hibernate(十三)Session管理

来源:互联网 


package test.hibernate.hbmSessionManage;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

public class App {

	private static SessionFactory sessionFactory = new Configuration()//
			.configure("test/hibernate/hbmSessionManage/myhibernate.cfg.xml")//
			.buildSessionFactory();

	/*
	 * 要想应用SessionFactory.getCurrentSession()办法
	 * 须要在Hibernate主配置文件中配置current_session_context_class项
	 */
	@Test
	public void testSession() throws Exception {
		// Session session1 = sessionFactory.getCurrentSession();
		// Session session2 = sessionFactory.getCurrentSession();

		// Session session1 = sessionFactory.openSession();
		// Session session2 = sessionFactory.openSession();

		Session session1 = sessionFactory.openSession();
		Session session2 = sessionFactory.getCurrentSession();

		System.out.println(session1 != null);
		System.out.println(session1 == session2);

	}

	/*
	 * getCurrentSession():指定高低文中(如thread)查找绑
	 * 定的Session对象,如果有就返回;
	 * 如果没有就创立一个并绑定,然后返回 openSession():只是
	 * 开启一个新的Session,不会做绑定和查找操作
	 */
	@Test
	public void testSessionClose() throws Exception {

		Session session2 = sessionFactory.getCurrentSession();
		session2.beginTransaction();

		System.out.println("xxxxxxxxxxxxxxxxxxxxxx");
		session2.getTransaction().commit();
		// session2.close();
	}
}
package test.hibernate.hbmSessionManage;

import 




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: