我们正在从3.3.2迁移到新的Hiberbate 3.5.0最终版本。根据文档复制了hibernate3.jar和hibernate-jpa-2.0-api-1.0.0.Final.jar并删除了所有旧的jar文件。 但是在服务器启动期间我们正在获得 java.lang.NoSuchMethodError:javax / persistence / spi / PersistenceUnitInfo.getSharedCacheMode()Ljavax / persistence / SharedCacheMode
这是通过添加3.3.2版本的hibernate-entitymanager.jar文件来解决的。但这与3.5.0文档不一致。
任何指针都受到高度赞赏。
答案 0 :(得分:2)
JBoss.org public repository中有一个hibernate-entitymanager-3.5.0-Final.jar
(以及一些较新的版本)。
确保拥有正确的依赖项JAR的最简单方法是使用Apache Maven之类的依赖项管理工具。在Maven中,您可以像这样引用Hibernate EntityManager:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>
这将引入所有必要的JAR(对于我的项目,使用Hibernate EntityManager 3.5.4-Final),它想要引入hibernate-core,hibernate-jpa-2.0.-api,slf4j-api,hibernate -annotations,javassist和cglib。 (请参阅附图,从NetBeans的依赖关系图实用程序中创建快照。)