cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Moens <tmo...@telus.net>
Subject Queries
Date Mon, 03 Mar 2008 18:46:59 GMT
Greetings:

I am trying to do a parameterized select query.  My situation is 
directly analogous to the example:

list.add(ExpressionFactory.matchExp("paintingTitle",
          new ExpressionParameter("pname")));
list.add(ExpressionFactory.matchExp("toArtist.artistName",
          new ExpressionParameter("aname")));

I follow this pattern but I run into troubles with when the first 
argument to the matchExp is an attribute of an object other than the 
target class itself.  So in the above example, the first expression 
works fine but the second would fail with the following:

Can't resolve path component: [Artist.artistName])

I've very carefully checked that in other situations the attribute 
analogous to Artist.artistName is in fact accessible.

Is there a common error made in these situations?

Thanks in advance for any help.

Ted

FYI...


	at org.apache.cayenne.map.Entity$PathIterator.next(Entity.java:375)
	at 
org.apache.cayenne.access.trans.QueryAssemblerHelper.appendObjPath(QueryAssemblerHelper.java:90)
	at 
org.apache.cayenne.access.trans.QualifierTranslator.objectNode(QualifierTranslator.java:338)
	at org.apache.cayenne.exp.Expression.traverse(Expression.java:455)
	at org.apache.cayenne.exp.Expression.traverse(Expression.java:452)
	at org.apache.cayenne.exp.Expression.traverse(Expression.java:432)
	at 
org.apache.cayenne.access.trans.QualifierTranslator.doTranslation(QualifierTranslator.java:74)
	at 
org.apache.cayenne.access.trans.SelectTranslator.createSqlString(SelectTranslator.java:123)
	at 
org.apache.cayenne.dba.mysql.MySQLSelectTranslator.createSqlString(MySQLSelectTranslator.java:31)
	at 
org.apache.cayenne.access.trans.QueryAssembler.createStatement(QueryAssembler.java:95)
	at 
org.apache.cayenne.access.jdbc.SelectAction.performAction(SelectAction.java:71)
	at 
org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:57)
	at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:236)
	at 
org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:446)
	at 
org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:67)
	at 
org.apache.cayenne.access.DataDomainQueryAction$2.transform(DataDomainQueryAction.java:418)
	at 
org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:853)
	at 
org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:415)
	at 
org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:119)
	at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:746)
	at 
org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:282)
	at 
org.apache.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:59)
	at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1323)
	at 
org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1312)
	at org.tsw.ultiserver.getXMLData.processRequest(getXMLData.java:138)
	at org.tsw.ultiserver.getXMLData.doGet(getXMLData.java:159)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
	at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Unknown Source)


Mime
View raw message