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)
>>>
>>>
>>>
>>>
>>>
>>

Reply via email to