码迷,mamicode.com
首页 > Windows程序 > 详细

hibernate--coreapi--configuration sessionfactory--getcurrentsession--opensession

时间:2016-04-20 21:33:47      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

sessionfactory的目的:产生session,维护数据库连接池

测试文件里的sessionfactory创建数据库连接,所以sessionFactory通过配置文件里的配置信息产生一个数据库连接池, 从中取出一个数据库连接.

sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();

configure用于调用数据库信息, configure()里面可以指定hibernate.cfg.xml的名字

用getCurrentSession产生一个session:

@Test
	public void testTeacherSave() {	
		Teacher t = new Teacher();		
		t.setName("t1");
		t.setTitle("middle");
		t.setBirthDate(new Date());		
		//Session session = sessionFactory.openSession();
		Session session = sessionFactory.getCurrentSession();		
		session.beginTransaction();
		session.save(t);		
		Session session2 = sessionFactory.getCurrentSession();		
		System.out.println(session == session2);		
		session.getTransaction().commit();		
		Session session3 = sessionFactory.getCurrentSession();		
		System.out.println(session == session3);		
	}
openSession() 永远是创建一个新的session, 此session需要close, 而getCurrentSession()如果环境中有session就拿环境中的, 不需要close.

  

 

  

 

hibernate--coreapi--configuration sessionfactory--getcurrentsession--opensession

标签:

原文地址:http://www.cnblogs.com/wujixing/p/5414109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!