一尘不染

为什么不建议使用HibernateDaoSupport?

hibernate

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

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

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

阅读 244

收藏
2020-06-20

共1个答案

一尘不染

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

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

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

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

也可以看看:

2020-06-20