2011-11-05 103 views
0

我们在我们的应用程序中使用Spring和Hibernate,并为所有休眠的东西使用getHibernateTemplate()方法。我的问题是:
HibernateTemplate如何在内部工作

  • HibernateTemplate如何在内部工作?
  • getHibernateTemplate()。save(entity)and session.save(entity)有什么区别?哪一个更好用?

我已经在此搜索,但还没有找到任何满意的答案。

回答

2

Spring是开源的 - 您可以下载源代码并自己寻找。

HibernateTemplate只不过是Hibernate Session接口的一个简单包装,提供了更符合Spring约定的自己的接口。

如果您不想下载源代码,您可以阅读它here

1

Hibernate提供了便捷的方法来处理资源管理(如事务设置,以及会话获取)中易于使用的方法。它也知道Spring的声明式事务管理并可以参与交易。然而,在几年前的一个时间点,Hibernate通过Spring的一点帮助,很容易地支持类似的用例。 Spring现在支持使用AOP进行基于Hibernate会话的访问,以获得许多相同的结果。

查看此博客,了解设置该支持以及讨论使用哪种方法的正确方法。 JPA和它的EntityManager有类似的支持。

http://blog.springsource.com/2007/06/26/so-should-you-still-use-springs-hibernatetemplate-andor-jpatemplate/