我正在尝试在 Glassfish V2 上将 Hibernate 3.5.5 与 Spring HibernateJpaVendorAdapter 一起使用,但是在初始化 Spring 上下文时出现以下异常:
java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode;
在 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(或任何其他解决此问题的方法)?
干杯,
Ĵ