2011-03-11 93 views
1

我們正在從3.3.2遷移到新的Hiberbate 3.5.0最終版本。根據文檔複製hibernate3.jar和hibernate-jpa-2.0-api-1.0.0.Final.jar並刪除所有舊的jar文件。 但服務器在啓動過程中,我們越來越 java.lang.NoSuchMethodError:使用javax /持久/ SPI/PersistenceUnitInfo.getSharedCacheMode()Ljavax /持久/ SharedCacheMode休眠3.5 jar文件

這是固定由3.3增加休眠,entitymanager.jar文件.2版本​​。但這與3.5.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決賽),它希望在休眠芯拉斷, hibernate-jpa-2.0.-api,slf4j-api,hibernate-annotations,javassist和cglib。 (請參閱附加的映像,從NetBeans的依賴關係圖實用程序快照。)

dependency diagram