我正在尝试在Glassfish V2上使用Hibernate 3.5.5和
Spring HibernateJpaVendorAdapter,但是在Spring上下文初始化时我得到以下异常:
java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode;
at org.hibernate.ejb.util.LogHelper.logPersistenceUnitInfo(LogHelper.java:39)
在org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:517)
在org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)
问题是Glassfish V2使用JPA1.0,它在hibernate附带的hibernate-jpa-2.0-api-1.0.0.Final.jar之前加载到服务器类路径上. JPA 1.0在PersistenceUnitInfo中没有getSharedCacheModel方法,但JPA 2.0没有.
是否有任何方法可以升级Glassfish V2以使用JPA 2.0(或任何其他解决此问题的方法)?
干杯,
Ĵ
解决方法
您可以尝试将JPA 2.0 jar放在/ domain / lib / endorsed目录中