当前位置: 首页 > 面试题库 >

Spring Hibernate模板何时使用,为什么?

季博
2023-03-14
问题内容

问候语,当前正在开发小型Web服务应用程序,其中来自Web服务(使用CXF +
Spring)的响应已处理并保存到数据库中。为了使用数据库,我正在使用Hibernate(3.5)。在网络上浏览一些Hibernate +
Spring示例,我经常可以看到HibernateTemplate的用法,因此我对此感到有些困惑,想问一下:

您是否在Hibernate3应用程序中使用HibernateTemplate?HibernateTemplate何时能使您的开发生活变得更好,并且基于哪些观点我可以决定是否需要使用它?

谢谢。


问题答案:

所有spring模板(休眠,jdbc,rest,jpa等)都具有相同的优缺点:

优点: 他们为您执行通用的设置例程,让您跳过样板并专注于所需的逻辑。

缺点: 您正在将应用程序紧密耦合到Spring框架。因此,Spring建议HibernateTemplate不要再使用。

具体来说,HibernateTemplate您执行的是在执行代码后自动打开和关闭会话以及提交或回滚事务。但是,所有这些都可以使用Spring的Declarative
Transaction
Management
以面向方面的方式实现。

参考:

  • Spring参考:ORM:当前建议的Spring Hibernate使用模式的Hibernate
  • 春季参考:经典春季用法:HibernateTemplate

更新:

从Spring
3.1(及更高版本)开始,HibernateTemplate已被删除。有关当前建议的使用模式,请参见休眠。



 类似资料:
  • 问题内容: 问候语,当前正在开发小型Web服务应用程序,其中来自Web服务(使用CXF + Spring)的响应已处理并保存到数据库中。为了使用数据库,我正在使用Hibernate(3.5)。在网络上浏览一些Hibernate + Spring示例,我经常可以看到HibernateTemplate的用法,因此我对此感到有些困惑,想问一下: 您是否在Hibernate3应用程序中使用Hibernat

  • 在里面https://github.com/stlab/libraries/blob/main/stlab/concurrency/main_executor.hpp,我读到 decltype(f)的意义是什么,为什么不直接使用f?

  • 问题内容: 我了解C 中模板的方面与Java和C#中的泛型不同。C#是一种形式,Java使用类型擦除,C 使用鸭子类型,等等。C 模板可以做很多事情,而Java和C#泛型则做不到(例如,模板专业化)。但是 Java泛型可以做很多事情,而C#和C ++则做不到(例如,使泛型族的有界类型参数成为现实 ),而 C#泛型可以做的很多事情Java和C 不能做(例如运行时通用反射)。 [编辑:显然Java泛型

  • 我是Java新手。我只做了大约一年的编程。Spring使用模板是什么意思?在Spring,有jdbc模板、jms模板等。。java中的模板类是什么?它们是一种特殊的设计模式还是什么? 提前谢谢你。

  • 问题内容: 为什么要在PHP中使用模板系统? 我的问题背后的原因是:PHP本身是功能丰富的模板系统,为什么要安装另一个模板引擎? 到目前为止,我发现的仅有的两个专业人士是: 语法更简洁(有时) 模板引擎通常不足以实现业务逻辑,因此会迫使您分离关注点。使用PHP进行模板化可以吸引您了解模板化原理,并重新开始编写代码。 …与利弊相比,两者都可以忽略不计。 小例子: 的PHP 聪明的 我真的没有任何区别

  • 我试图去登录页面在我的Spring Boot应用程序,我得到了这个错误 在stackoverflow上,人们给出的建议需要添加一个依赖项 但在那之后我犯了这个错误 此错误表示Spring找不到模板登录。html在文件夹中。如果我有自己的登录名,我应该怎么做。jsp在另一个文件夹中,我不想使用任何模板? 这是我的登录映射 这是我的安全配置