HibernateTemplate 和Session的区别

2025-05-19 11:01:27
推荐回答(1个)
回答1:

HibernateTemplate与session的区别如下:
1.使用HibernateTemplate,很重要的原因不想直接控制事务,不想直接去获取,打开Session,开始一个事务,处理异常,提交一个事务,最后关闭一个,SessionHibernateTemplate 是Hibernate操作进行封装,我们只要简单的条用HibernateTemplate 对象,传入hql和参数,就获得查询接口,把这些责任全部委托给了 HibernateTemplate,然后使用声明式的配置来实现这样的功能。如果通过类似getSession()这样的方法获得了Session,就失去了这部分功能。
2.在使用Spring的时候 DAO类继承了 HibernateDaoSupport 类又因为HibernateDaoSupport 类里面有个属性 hibernateTemplate;所以就可以进行设置注,也就是Spring的一大优点面向切面式编程,进行设置注入,在Tomcat启动的时候由 Tomcat 加载 ApplicationContext.xml,配置文件给 hibernateTemplate赋值,这样的话就实现了,在使用某个对象之前不用给他实例化