我正在用java开发一个网络应用程序。我正在考虑使用 Spring MVC。但在 ORM 方面,我有一个决定要做。我研究过诸如 Hibernate、iBatis、Spring JDBC 模板等 ORM。
我发现 iBatis 和 Spring JDBC 模板(使用 RowMapper)几乎相同,您将每个查询映射到一个对象。所以你必须为每个查询编写一个类。
在 Hibernate 中,您将每个表映射到一个类。它减少了编写 SQL 的需要。
我想当你不擅长 SQL 时,Hibernate 更可取。在我的情况下,我对 SQL 很熟悉,所以想使用 iBatis 或 Spring JDBC 模板,它们可以让我很好地控制 SQL,而且这些都没有 Hibernate 复杂。
但是 Hibernate 提供了其他 ORM 不提供的缓存。
所以我的问题:
- 在 iBatis 和 Spring JDBC Template 之间使用哪一个?
- Hibernate 缓存(或我不知道的任何其他 Hibernate 功能)是否如此好,以至于我应该使用 Hibernate 而不是其他 ORM?