HibernateTemplate如何在内部工作

时间:2011-11-05 08:31:54

标签: hibernate spring

我们在应用程序中使用Spring和Hibernate,并对所有hibernate使用getHibernateTemplate()方法。我的问题是:

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

我已经对此进行了搜索,但未找到任何令人满意的答案。

2 个答案:

答案 0 :(得分:2)

Spring是开源的 - 您只需下载源代码并自行查看。

HibernateTemplate只不过是Hibernate Session接口的一个轻量级包装器,它提供了自己的接口,与Spring约定更加一致。

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

答案 1 :(得分: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/