1、在 hibernate.cfg.xml 中添加配置
<property name="current_session_context_class "> thread </property> //告诉 hibernate,session 由当前线程产生。2、不需要写 sessio.close(),在事务提交时会自动关闭(由 hibernate内部完成)
@Test
public class SessionCreateTest extends HiberanteUtils{
/**
* crud操作必须在transaction的环境下运行
* session和事务绑定在一起了
*/
@Test
public void testGetGurrentSession(){
Session session = sessionFactory.getCurrentSession();
Transaction transaction = session.beginTransaction();
Classes classes = (Classes)session.get(Classes.class, 1L);
transaction.commit();
//session.close();
}
}3、CURD都需要事务。
因为是一个线程,所以整个方法中一个session,一个事务;
保证了整个业务操作的安全性。
本文介绍如何在Hibernate中配置和使用线程绑定的Session,通过具体代码示例展示了如何在一个测试类中获取当前线程的Session,并进行基本的CRUD操作。

被折叠的 条评论
为什么被折叠?



