适用于弹簧3.2.6的最兼容的hibernate版本

时间:2014-02-02 10:46:50

标签: java spring hibernate jpa

我现在使用这样的东西:JSF2(PrimeFaces)+ Spring& Spring-Security + JPA2(Hibernate)。我就喜欢!但不知怎的,我总是想知道:具有Hibernate的特定Spring版本的推荐(或者可能是“最佳兼容”)版本是什么?我们以Spring 3.2.6为例:

如果我看一下spring-orm POM,它似乎使用了hibernate-entitymanager 4.1.9.Final。我应该使用那个,还是最新的4.1.x版本?或者我应该使用hibernate 4.2.x?甚至4.3.x?在我的(简单)测试中,任何一个工作都很好,但后来我在这里阅读https://jira.springsource.org/browse/SPR-11240,直到春天4才支持hibernate 4.3。

总结一下:我应该使用哪个hibernate版本的spring 3.2.6.RELEASE以及找到类似信息的最佳位置(将来)。

1 个答案:

答案 0 :(得分:9)

最好的方法是检查项目的pom是否有可选的依赖项。

在这种情况下,我们可以转到maven存储库并搜索项目pom:

$ HOME / .m2目录/库/组织/ springframework的/弹簧ORM / 3.2.6.RELEASE

-rw-r--r--  ... spring-orm-3.2.6.RELEASE.pom

打开spring-orm pom,Hibernate有一个可选的依赖项:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>4.1.9.Final</version>
  <scope>compile</scope>
  <optional>true</optional>
</dependency>

可选依赖项可以被视为“默认排除”,如果要使用该版本或其他版本,则可以使用spring-orm来决定项目。这是项目开发人员记录某些依赖项的推荐版本的一种方式,这些依赖项并不一定要在依赖项目中强制执行。

可选的依赖项是推荐的版本,其他版本可能会或可能不会运行,但该版本的测试次数最多。