Hibernate,iBatis,Spring JDBC模板,哪一个使用?

CJ.*_*CJ. 2 orm spring hibernate ibatis

我正在开发一个java的Web应用程序.我正在考虑使用Spring MVC.但在ORM方面,我有决定.我研究过像Hibernate,iBatis,Spring JDBC Template等ORM.

我发现iBatis和Spring JDBC Template(使用RowMapper)几乎相同,您可以将每个查询映射到一个对象.所以你必须为每个查询编写一个类.

在Hibernate中,您使用类映射每个表.它减少了编写SQL的需要.

我猜Hibernate在你不擅长SQL时更受欢迎.在我的情况下,我对SQL非常熟悉,所以想要使用iBatis或Spring JDBC Template,它可以让我很好地控制SQL,而且这些都不如Hibernate复杂.

但是Hibernate提供了其他ORM不提供的缓存.

所以我的问题:

  1. 在iBatis和Spring JDBC Template之间使用哪一个?
  2. Hibernate缓存(或任何其他我不知道的Hibernate功能)是如此之好,以至于我应该使用Hibernate而不是其他ORM?

Ale*_*nes 6

我想当你不擅长SQL时,Hibernate更可取

我不同意你应该使用Hibernate或任何其他ORM的想法,因为你不是很擅长SQL.

虽然Hibernate确实会为您生成SQL,但不了解它正在做什么是导致性能灾难的一个方法.