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

为什么不建议使用HibernateDaoSupport?

宗政欣可
2023-03-14
问题内容

我最近一直在使用Hibernate 3.5和Spring
3进行一些工作,但是我对Hibernate还是比较陌生,并认为HibernateDaoSupportSpring中的类使将Hibernate与我的域类一起使用变得容易且容易。

但是,在搜索一个不相关的问题时,我看到有人提到,这HibernateDaoSupport不是使用Spring和Hibernate的最佳方法。任何人都可以阐明以下几点:

  • 为什么不推荐?
  • 整合Hibernate和Spring的最佳方法(或至少是公认的方法)是什么?

问题答案:

不建议使用HibernateDaoSupport/,HibernateTemplate因为它不必要地将您的代码与Spring类联系起来。

为了集成对Spring管理的事务的支持,在较早版本的Hibernate中不可避免地使用这些类。

但是,从Hibernate 3.0.1开始,您将不再需要它-您可以在使用Spring管理的事务时针对普通的Hibernate
API编写代码。您所需要做的就是配置Spring事务支持,在需要使用会话时注入SessionFactory并调用getCurrentSession()它。

HibernateTemplate异常转换的另一个好处是。如果没有HibernateTemplate相同的功能,则可以通过使用@Repository注释来实现,如Gareth
Davis的答案所示。

也可以看看:

  • 13.3.2基于普通的Hibernate 3 API实现DAO


 类似资料:
  • 问题内容: Java文档似乎并未提及有关的弃用的任何内容,但我一直很早就听说过它的弃用情况。是因为它具有错误/错误而被弃用,还是整体上更好使用? 我有一些使用的代码,我想知道我是否应该认真考虑将其重构为使用,还是弃用纯粹是为了方便而我的代码是安全的。 问题答案: 从javadoc中获取StringTokenizer: 是旧类,出于兼容性原因保留,尽管在新代码中不鼓励使用它。建议任何寻求此功能的人改

  • 问题内容: 我找不到任何解释为什么Apache Lang3 v3.7中不推荐使用StringEscapeUtils。 https://commons.apache.org/proper/commons- lang/apidocs/org/apache/commons/lang3/StringEscapeUtils.html 我们现在应该使用什么来进行HTML转义/转义 问题答案: 班级已从包裹中移

  • 问题内容: 为什么不推荐使用? 问题答案: 在javadoc中说为什么。被设计为低负载并发的一种简单解决方案,但它甚至无法解决: 请注意,SingleThreadModel不能解决所有线程安全问题。例如,即使使用SingleThreadModel servlet,会话属性和静态变量仍然可以同时由多个线程上的多个请求访问。建议开发人员采取其他方法解决这些问题,而不要实现此接口,例如,避免使用实例变量

  • 问题内容: 我从没想过,只有我使用了返回一个字符数组的方法,并且看到该方法已被 弃用 。但是现在我想,为什么 不赞成使用 此方法? Java文档说明: 不推荐使用 。 从Java 2 Platform v1.2开始,由取代。 获取由组件表示的文本的一部分。如果length为0,则返回一个空字符串。 出于安全原因,不建议使用此方法。请改用该方法。 但是那些 安全原因是 什么?有什么想法吗? 先感谢您

  • 本文向大家介绍在css中为什么说不建议使用@import?相关面试题,主要包含被问及在css中为什么说不建议使用@import?时的应答技巧和注意事项,需要的朋友参考一下 @import 属于 CSS,所以导入语句应写在 CSS 中,要注意的是导入语句应写在样式表的开头,否则无法正确导入外部文件; @import 是 CSS2.1 才出现的概念,所以如果浏览器版本较低,无法正确导入外部样式文件;

  • 问题内容: 考虑以下示例: 并且还请参见下面的示例,该示例创建了Tk背对背的实例,而不是一次创建,因此在任何给定时间都只有一个实例Tk: 为什么拥有多个实例被认为是不好的Tk? 第二个代码段是否被认为更好一些,还是遇到了与第一个代码相同的条件? 问题答案: 为什么拥有多个实例被认为是不好的Tk? Tkinter只是围绕导入Tk库的嵌入式Tcl解释器的python包装器。创建根窗口时,将创建Tcl解