【发布时间】:2016-09-21 08:59:04
【问题描述】:
我使用的是 Hibernate 4.3.6 并使用基于注释的持久性定义。在 tomcat 8.0 上它工作正常。但是当我在 WAS Liberty 配置文件 8.5.5.7 中进行部署时,它给出了如下的根本原因异常,并且无法找出原因。有人告诉将 Hibernate 升级到 5.1.0 但没有用。我正在使用 Eclipse 进行开发。我也在使用 Spring 4.0.1。
Caused by: java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
at org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:936)
at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:824)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3788)
at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3742)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1928)
at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:343)
at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:431)
at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:416)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1612)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1549)
... 57 more
【问题讨论】:
-
"有人告诉升级" ...嗯,是的,该方法显然是 JPA 2.1 的一部分,并且您没有使用一致版本的 JPA 提供程序和 JPA jar(以及任何“它不起作用" 表示您没有正确升级)。之前已经在这里问过很多次了,都可以使用搜索找到。