在执行JPA查询时获取NoSuchMethodError:javax.persistence.Table.indexes() [英] Getting NoSuchMethodError: javax.persistence.Table.indexes() while performing JPA query
问题描述
我有IntelliJ项目库:Hibernate-entitymanager 4.3.4和JPA 2.0-2.0。使用postgresql-9.3.1100.jdbc4连接到数据库。如何解决它?
jpa-ql>从ItemEntity中选择ItemEntity.name;
java.lang.NoSuchMethodError:javax.persistence.Table.indexes()[Ljavax / persistence / Index;在org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions
(EntityBinder.java:936)
在org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:824)
。在组织.hibernate.cfg.Configuration $ MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3790)
在org.hibernate.cfg.Configuration $ MetadataSourceQueue.processMetadata(Configuration.java:3744)
在org.hibernate.cfg .Configuration.secondPassCompile(Configuration.java:1410)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844)
位于org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl $ 4。执行(EntityManagerFactoryBuilderImpl.java:850)
。在org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl $ 4.perform(EntityManagerFactoryBuilderImpl.java:843)$ b $在org.hibernate.boot.registry.classloading.internal b .ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:397)$ or $ $ b $ org.hib ernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842)
处javax.persistence.Persistence org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:73)
。的createEntityManagerFactory(Persistence.java:78)
在javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
在com.intellij.jpa.remote.impl.JpaFacadeImpl.createEntityManagerFactory(JpaFacadeImpl.java: 16)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
在sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport $ 1.run(Transport.java:177)
at sun.rmi .transport.Transport $ 1.run(Transport.java:174)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173 )
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
at sun.rmi.transport.tcp.TCPTransport $ ConnectionHandler.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport $ ConnectionHandler.run(TCPTransport.java:670)$ b $ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)$ b $ at java.lang.Thread.run(Thread.java:744)
解决方案请仔细阅读文档: http://docs.oracle.com/javaee/7/api /javax/persistence/Table.html#indexes()
特别是,行
自:Java Persistence 2.1
I have IntelliJ project with libraries: Hibernate-entitymanager 4.3.4 and JPA 2.0-2.0. Which is connected to database using postgresql-9.3.1100.jdbc4. How to fix it?
jpa-ql> select ItemEntity.name from ItemEntity;
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:3790) at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3744) at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:843) at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:397) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:73) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:78) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) at com.intellij.jpa.remote.impl.JpaFacadeImpl.createEntityManagerFactory(JpaFacadeImpl.java:16) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) at sun.rmi.transport.Transport$1.run(Transport.java:174) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:173) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)
解决方案Just read the documentation:
http://docs.oracle.com/javaee/7/api/javax/persistence/Table.html#indexes()
Specifically, the lines
Since:Java Persistence 2.1
这篇关于在执行JPA查询时获取NoSuchMethodError:javax.persistence.Table.indexes()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!