【问题标题】:EclipseLink - issue compiling Query and the state field path cannot be resolved to a valid typeEclipseLink - 编译查询的问题和状态字段路径无法解析为有效类型
【发布时间】:2014-03-07 14:44:15
【问题描述】:

点击我的发票页面时,有时我会收到此错误。表在数据库中,JPA实体设置完毕,查询有效。

如果我大部分时间清理并重新启动我的服务器,它会神奇地工作,但是一旦我更改 servlet 中的任何内容,它会在重新启动服务器后再次引发此错误。

我在互联网上到处搜索,找不到发生这种情况的答案。

如果您有任何想法,请告诉我。

2014 年 2 月 10 日上午 9:49:49 org.apache.catalina.core.StandardWrapperValve 在上下文中为 servlet [default] 调用 SEVERE: Servlet.service() 路径 [##290] 抛出异常 [javax.servlet.ServletException: javax.servlet.jsp.JspException:org.apache.jasper.el.JspELException: /####/###/###/invoices.jsp(16,1) '${ti.teacherInvoiceList}' 错误 在类型上阅读“teacherInvoiceList” uk.org.mfsf.dao.TeacherInvoiceLists] 与根本原因本地异常 堆栈:异常 [EclipseLink-0](Eclipse 持久性服务 - 2.6.0.v20140201-f85d864): org.eclipse.persistence.exceptions.JPQLException 异常 描述:编译问题 [SELECT i FROM Invoice i WHERE i.invoice.id = :id ]。 [14, 32] 抽象模式类型“发票”是 未知。 [41, 61] 状态字段路径'm.invoice.id'不能 解析为有效类型。在 org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildException(HermesParser.java:155) 在 org.eclipse.persistence.internal.jpa.jpql.HermesParser.validate(HermesParser.java:347) 在 org.eclipse.persistence.internal.jpa.jpql.HermesParser.populateQueryImp(HermesParser.java:278) 在 org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildQuery(HermesParser.java:163) 在 org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:142) 在 org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:116) 在 org.eclipse.persistence.internal.jpa.EJBQueryImpl.(EJBQueryImpl.java:102) 在 org.eclipse.persistence.internal.jpa.EJBQueryImpl.(EJBQueryImpl.java:86) 在 org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1614) 在 org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1636) 在 uk.org.mfsf.dao.TeacherInvoiceLists.getTeacherInvoiceList(TeacherInvoiceLists.java:33) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 java.lang.reflect.Method.invoke(未知来源)在 javax.el.BeanELResolver.getValue(BeanELResolver.java:87) 在 javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67) 在 org.apache.el.parser.AstValue.getValue(AstValue.java:169) 在 org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189) 在 org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:106) 在 org.apache.jsp.content.page.page_002dtemplates.invoices_jsp._jspx_meth_c_005fset_005f1(invoices_jsp.java:418) 在 org.apache.jsp.content.page.page_002dtemplates.invoices_jsp._jspx_meth_c_005fif_005f0(invoices_jsp.java:392) 在 org.apache.jsp.content.page.page_002dtemplates.invoices_jsp._jspService(invoices_jsp.java:103) 在 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) 在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) 在 org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593) 在 org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530) 在 org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(ImportSupport.java:314) 在 org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(ImportSupport.java:171) 在 org.apache.jsp.content.page.index_jsp._jspx_meth_c_005fimport_005f0(index_jsp.java:229) 在 org.apache.jsp.content.page.index_jsp._jspx_meth_c_005fwhen_005f0(index_jsp.java:174) 在 org.apache.jsp.content.page.index_jsp._jspService(index_jsp.java:98) 在 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) 在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.tukey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) 在 org.tukey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) 在 org.tukey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) 在 org.tukey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) 在 org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471) 在 org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402) 在 org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329) 在 org.tukey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213) 在 org.tukey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171) 在 org.tukey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) 在 org.tukey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) 在 org.tukey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:304) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源) 在 java.lang.Thread.run(Unknown Source)

【问题讨论】:

    标签: java eclipse apache jpa


    【解决方案1】:

    原来这是某种本地配置设置问题,遗憾的是我不记得解决方案是什么,但它非常特定于这个项目。

    【讨论】:

    • 我遇到了同样的问题。在我的情况下,问题是由重复的类引起的。我的项目有 2 个依赖项(2 个 JPA 项目),其中我使用了相同的包;其中一个生成的实体在两个项目中具有相同的名称和包。
    猜你喜欢
    • 2013-12-02
    • 2015-04-15
    • 2017-08-25
    • 2023-01-02
    • 2016-02-26
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多