为什么
在Hibernate中事物是与session相关的,一般情况下session会在Service层创建,
Service中
Session session = HibernateUtils.openSession()
tx = session.beginTransaction();
dao.save();
dao.xxx();
tx.commit();
在Dao中就需要使用session.save()或者session.xxx(),而为了在同一个事物中执行这两个方法,所以在这两个方法中应该使用与Service中一样的session
怎么办
一 将session传递给dao层,即给为dao.save(session,obj)
二 session对象的生命周期与当前线程绑定