Hi Fernando, If it is a JPQL query string, the stack trace should show JDBCStoreQuery. I could be wrong about that.
Do you know the JPQL query string in your app that caused the following generated SQL: SELECT t0.JDOID, t0.CREATETIME, t0.BRACKET_JDOID, t0.GROUP0, t0.USER_JDOID FROM BRACKETEER t0 WHERE (t0.GROUP0 = ? AND t0.USER_JDOID = ?) Are you using named parameter or positional parameter in your JPQL query string ? Again, We appreciate it very much if you could send us entities involved and the JPQL query string issued from your app. Catalina On Fri, Jan 30, 2009 at 12:46 PM, Fernando Padilla <[email protected]>wrote: > but my code is expecting to build JPQL queries. Could the api changed some > how so that it's now building Native Queries, while it should be using > JPQL?? > > > > catalina wei wrote: > >> Hi Fernando, >> From the stack trace, it looks to me the parameters are for a native SQL. >> We may have introduced problems in handling parameters for native queries. >> >> Could you help us isolating the problem ? >> >> Could you extract svn revision r738940 and see if that commit introduced >> the >> problem ? >> If possible, could you provide us entities source code for reproducing the >> problem ? >> >> Thank you very much. >> >> Catalina Wei >> >> On Fri, Jan 30, 2009 at 11:47 AM, Fernando Padilla <[email protected] >> >wrote: >> >> So.. we came in today and our app has stopped working. Simple queries >>> that >>> worked yesterday are not working today. Anyone having this issue? Any >>> ideas before I have to start to figure out which commit caused this?? >>> >>> We have two entities, Bracketeer and User. >>> >>> @Entity >>> public class Bracketeer extends HBaseIdCreateTime implements IBracketeer >>> { >>> ... >>> @Persistent >>> @Externalizer( "getIdLong" ) >>> private BracketGroupId group; >>> >>> >>> @ManyToOne >>> @JoinColumn( name = "USER_JDOID" ) >>> private User user; >>> ... >>> } >>> >>> @Entity >>> public class User extends HBaseIdCreateTime implements UnifiedSocialUser >>> { >>> ... >>> } >>> >>> >>> Now all queries trying to get Bracketeers keep failing.. "specified >>> paramter of type "..." is not a valid query parameter." First it was >>> failing against the User field, now it's failing against the group >>> field.. >>> >>> >>> >>> >>> >>> >>> >>> >>> 2009-01-30 11:28:42,483 [btpool0-2] ERROR >>> com.protrade.bracket.fbsite.filters.AppSubscriptionHandler - The >>> specified >>> parameter of type "class com.protrade.bracket.data.entities.User" is not >>> a >>> valid query parameter. >>> <openjpa-2.0.0-SNAPSHOT-r422266:739178 nonfatal user error> >>> org.apache.openjpa.persistence.ArgumentException: The specified parameter >>> of >>> type "class com.protrade.bracket.data.entities.User" is not a valid query >>> parameter. >>> at >>> >>> org.apache.openjpa.jdbc.sql.DBDictionary.setUnknown(DBDictionary.java:1354) >>> at >>> >>> org.apache.openjpa.jdbc.kernel.SQLStoreQuery$SQLExecutor.executeQuery(SQLStoreQuery.java:314) >>> at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:997) >>> at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:846) >>> at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:777) >>> at >>> >>> org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525) >>> at >>> org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:274) >>> at >>> >>> org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:284) >>> at >>> com.protrade.common.persistence.JPAUtil.execute(JPAUtil.java:195) >>> at >>> com.protrade.common.persistence.JPAUtil.execute(JPAUtil.java:170) >>> at >>> com.protrade.common.persistence.JPAUtil.executeList(JPAUtil.java:155) >>> at >>> com.protrade.common.persistence.JPADQuery.list(JPADQuery.java:24) >>> at >>> >>> com.protrade.common.persistence.BaseRootDAOBase.runListQueryWithListNCS(BaseRootDAOBase.java:272) >>> at >>> >>> com.protrade.common.persistence.BaseRootDAOBase.findByFieldsNCS(BaseRootDAOBase.java:199) >>> at >>> >>> com.protrade.common.persistence.BaseRootDAOBase.existsByFieldsNCS(BaseRootDAOBase.java:236) >>> at >>> >>> com.protrade.common.persistence.BaseDAOBase.existsByFieldsNCS(BaseDAOBase.java:144) >>> at >>> com.protrade.bracket.data.BracketDao.isBracketeer(BracketDao.java:152) >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> 2009-01-30 11:43:31,349 [btpool0-1] DEBUG openjpa.Query - Executing >>> query: >>> [SELECT t0.JDOID, t0.CREATETIME, t0.BRACKET_JDOID, t0.GROUP0, >>> t0.USER_JDOID >>> FROM BRACKETEER t0 WHERE (t0.GROUP0 = ? AND t0.USER_JDOID = ?)] with >>> parameters: {1=com.protrade.bracket.data.entities.u...@b1406b[ >>> fbId=578696943 >>> appAdded=false >>> recruiter=<null> >>> numMinibrackets=0 >>> numBrackets=0 >>> createTime=1233343722122 >>> idLong=9000 >>> jdoId=<null> >>> jdoversion=0 >>> ], 0=<<BracketGroupId:BracketGroup:32>>} >>> 2009-01-30 11:43:31,366 [btpool0-1] ERROR >>> com.protrade.bracket.fbsite.filters.AppSubscriptionHandler - The >>> specified >>> parameter of type "class >>> com.protrade.bracket.data.entities.BracketGroupId" >>> is not a valid query parameter. >>> <openjpa-2.0.0-SNAPSHOT-r422266:739178 nonfatal user error> >>> org.apache.openjpa.persistence.ArgumentException: The specified parameter >>> of >>> type "class com.protrade.bracket.data.entities.BracketGroupId" is not a >>> valid query parameter. >>> at >>> >>> org.apache.openjpa.jdbc.sql.DBDictionary.setUnknown(DBDictionary.java:1354) >>> at >>> >>> org.apache.openjpa.jdbc.kernel.SQLStoreQuery$SQLExecutor.executeQuery(SQLStoreQuery.java:314) >>> at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:997) >>> at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:846) >>> at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:777) >>> at >>> >>> org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525) >>> at >>> org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:274) >>> at >>> >>> org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:284) >>> >>> >>> >>> >>> >>
