问候语,当前正在开发小型Web服务应用程序,其中来自Web服务(使用CXF + Spring)的响应已处理并保存到数据库中。为了使用数据库,我正在使用Hibernate(3.5)。在网络上浏览一些Hibernate + Spring示例,我经常可以看到HibernateTemplate的用法,因此我对此感到有些困惑,想问一下:
您是否在Hibernate3应用程序中使用HibernateTemplate?HibernateTemplate何时能使您的开发生活变得更好,并且基于哪些观点我可以决定是否需要使用它?
谢谢。
所有spring模板(hibernate,jdbc,rest,jpa等)都具有相同的优缺点:
优点: 他们为您执行通用的设置例程,让您跳过样板并专注于所需的逻辑。
缺点: 您正在将应用程序紧密耦合到Spring框架。因此,Spring建议HibernateTemplate不要再使用。
HibernateTemplate
具体来说,HibernateTemplate为您提供的是在执行代码后自动打开和关闭会话以及提交或回滚事务。但是,所有这些都可以使用Spring的Declarative Transaction Management以面向方面的方式实现。
参考:
更新:
从Spring 3.1(及更高版本)开始,HibernateTemplate已被删除。有关当前建议的使用模式,请参见Hibernate。