我对 JPA 和 JPQL 有疑问。我有下一个查询:
String query="SELECT c from Cliente c";
Query quer=em.createQuery("Select c from Cliente c");
List<Cliente> lista= quer.getResultList();
当我执行该操作时,出现以下错误:
[java] 线程“main”中的异常 java.lang.NoClassDefFoundError: antlr/RecognitionException [java] at org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory.createQueryTranslator(ASTQueryTranslatorFactory.java:59) [java] at org.hibernate。 engine.query.spi.HQLQueryPlan.(HQLQueryPlan.java:103) [java] 在 org.hibernate.engine.query.spi.HQLQueryPlan.(HQLQueryPlan.java:80) [java] 在 org.hibernate.engine.query。 spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:168) [java] at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:221) [java] at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java: 199) [java] 在 org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1735) [java] 在 org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:291) [java] at test.TestCliente.main(TestCliente.java:35) [java] 原因:java.lang.ClassNotFoundException: antlr.RecognitionException [java] at java .net.URLClassLoader$1.run(URLClassLoader.java:366) [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355) [java] at java.security.AccessController.doPrivileged(Native Method) [java ] 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) [java] 在 java.lang.ClassLoader.loadClass(ClassLoader.java:423) [java] 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher. java:308) [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:356) [java] ... 还有 9 个createQuery(AbstractEntityManagerImpl.java:291) [java] at test.TestCliente.main(TestCliente.java:35) [java] 原因:java.lang.ClassNotFoundException: antlr.RecognitionException [java] at java.net.URLClassLoader$1。 run(URLClassLoader.java:366) [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at java.net。 URLClassLoader.findClass(URLClassLoader.java:354) [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:423) [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) [java ] 在 java.lang.ClassLoader.loadClass(ClassLoader.java:356) [java] ... 还有 9 个createQuery(AbstractEntityManagerImpl.java:291) [java] at test.TestCliente.main(TestCliente.java:35) [java] 原因:java.lang.ClassNotFoundException: antlr.RecognitionException [java] at java.net.URLClassLoader$1。 run(URLClassLoader.java:366) [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at java.net。 URLClassLoader.findClass(URLClassLoader.java:354) [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:423) [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) [java ] 在 java.lang.ClassLoader.loadClass(ClassLoader.java:356) [java] ... 还有 9 个java:35) [java] 引起:java.lang.ClassNotFoundException: antlr.RecognitionException [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:366) [java] at java.net.URLClassLoader$1.run (URLClassLoader.java:355) [java] 在 java.security.AccessController.doPrivileged(Native Method) [java] 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) [java] 在 java.lang.ClassLoader。 loadClass(ClassLoader.java:423) [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:356) [java] 。 .. 还有 9 个java:35) [java] 引起:java.lang.ClassNotFoundException: antlr.RecognitionException [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:366) [java] at java.net.URLClassLoader$1.run (URLClassLoader.java:355) [java] 在 java.security.AccessController.doPrivileged(Native Method) [java] 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) [java] 在 java.lang.ClassLoader。 loadClass(ClassLoader.java:423) [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:356) [java] 。 .. 还有 9 个366) [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at java.net.URLClassLoader.findClass(URLClassLoader. java:354) [java] 在 java.lang.ClassLoader.loadClass(ClassLoader.java:423) [java] 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) [java] 在 java.lang。 ClassLoader.loadClass(ClassLoader.java:356) [java] ... 还有 9 个366) [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at java.net.URLClassLoader.findClass(URLClassLoader. java:354) [java] 在 java.lang.ClassLoader.loadClass(ClassLoader.java:423) [java] 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) [java] 在 java.lang。 ClassLoader.loadClass(ClassLoader.java:356) [java] ... 还有 9 个loadClass(Launcher.java:308) [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:356) [java] ... 还有 9 个loadClass(Launcher.java:308) [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:356) [java] ... 还有 9 个
CLiente 类是可访问的,但我无法进行查询。
有谁知道为什么?
编辑:类路径中是 RecognitionException 类,我可以导入他,所以我不知道是什么问题。