I am defining an action to be run from the detail view. Inside the action I do the following:
Object AgentName = getView().getValue("description");
Query query = XPersistence.getManager()
.createQuery( "select connname_description from Agent " +
"where description = '" + ((String) AgentName) + "'");
String ClientAgentConnName = (String) query.getSingleResult();
I have done this before but inside a Calculator.
When I try to run the action I get this popup message:
Impossible to execute Create agents action: No data type for node: org.hibernate.hql.internal.ast.tree.IdentNode \-[IDENT] IdentNode: 'connname_description' {originalText=connname_description}
and in the console I get this:
Jan 12, 2018 3:26:17 PM org.openxava.controller.ModuleManager manageRegularException
SEVERE: No data type for node: org.hibernate.hql.internal.ast.tree.IdentNode
-[IDENT] IdentNode: 'connname_description' {originalText=connname_description}
java.lang.IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.IdentNode
-[IDENT] IdentNode: 'connname_description' {originalText=connname_description}
at org.hibernate.hql.internal.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:174)
at org.hibernate.hql.internal.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:937)
at org.hibernate.hql.internal.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:705)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:665)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:301)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:249)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:278)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:206)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:158)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:131)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:93)
at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:167)
at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:301)
at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:236)
at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1836)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:328)
at org.openxava.jpa.impl.EntityManagerDecorator.createQuery(EntityManagerDecorator.java:124)
at com.kwivira.EAD.actions.CreateAgents.execute(CreateAgents.java:66)
at org.openxava.controller.ModuleManager.executeAction(ModuleManager.java:562)
at org.openxava.controller.ModuleManager.executeAction(ModuleManager.java:460)
at org.openxava.controller.ModuleManager.execute(ModuleManager.java:421)
at org.apache.jsp.xava.execute_jsp._jspService(execute_jsp.java:195)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544)
at org.openxava.web.servlets.Servlets.getURIAsStream(Servlets.java:72)
at org.openxava.web.dwr.Module.getURIAsStream(Module.java:239)
at org.openxava.web.dwr.Module.request(Module.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Jan 12, 2018 3:26:17 PM org.openxava.controller.ModuleManager execute
FINE: Execute CreateAgents.CreateAgents=0 ms
Jan 12, 2018 3:26:17 PM org.openxava.web.dwr.Module request
FINE: Request time=18 ms
I am not sure what the problem is as I have done this exact thing in a Calculator. Any help would be appreciated.
David Fisher
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In a JPA query you have to use properties names, not column names. Maybe that is the problem, I don't know. Put here the complete code for Agent, so I can give you a more acurate tip.
Help others in this forum as I help you.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am defining an action to be run from the detail view. Inside the action I do the following:
and in the console I get this:
Jan 12, 2018 3:26:17 PM org.openxava.controller.ModuleManager manageRegularException
SEVERE: No data type for node: org.hibernate.hql.internal.ast.tree.IdentNode
-[IDENT] IdentNode: 'connname_description' {originalText=connname_description}
java.lang.IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.IdentNode
-[IDENT] IdentNode: 'connname_description' {originalText=connname_description}
Jan 12, 2018 3:26:17 PM org.openxava.controller.ModuleManager execute
FINE: Execute CreateAgents.CreateAgents=0 ms
Jan 12, 2018 3:26:17 PM org.openxava.web.dwr.Module request
FINE: Request time=18 ms
I am not sure what the problem is as I have done this exact thing in a Calculator. Any help would be appreciated.
David Fisher
Hi David,
In a JPA query you have to use properties names, not column names. Maybe that is the problem, I don't know. Put here the complete code for Agent, so I can give you a more acurate tip.
Help others in this forum as I help you.
Thanks, I found the issue. The query should look like this:
Object AgentName = getView().getValue("description");
Query query = XPersistence.getManager()
.createQuery( "select connname.description from Agent " +
"where description = '" + ((String) AgentName) + "'");
String ClientAgentConnName = (String) query.getSingleResult();