考虑以下代码:
public class UserDAOImpl implements UserDAO {
private HibernateTemplate hibernateTemplate;
public void setSessionFactory(SessionFactory sessionFactory){
this.hibernateTemplate = new HibernateTemplate(sessionFactory);
}
public void saveUser(User user) {
hibernateTemplate.saveOrUpdate(user);
}
public void deleteUser(User user) {
hibernateTemplate.delete(user);
}
}
的主要任务之一HibernateTemplate
是透明地打开和关闭会话。
在上面的代码中有两种方法saveUser()
,deleteUser()
我想问一下:
1)将为HibernateTemplate
这两种方法创建两个单独的会话,并且在这种情况下发生会话的关闭/刷新。
2)它和spring事务一样吗,就像在spring中一样,事务是在方法调用和打开时建议的,会话的关闭发生在方法/事务的边界上?