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,一个事务;
保证了整个业务操作的安全性。