You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Pinaki Poddar (JIRA)" <ji...@apache.org> on 2008/08/01 22:06:31 UTC

[jira] Resolved: (OPENJPA-75) error message for missing query id var needs improvement

     [ https://issues.apache.org/jira/browse/OPENJPA-75?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pinaki Poddar resolved OPENJPA-75.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.3.0

Committed revision 681807.

> error message for missing query id var needs improvement
> --------------------------------------------------------
>
>                 Key: OPENJPA-75
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-75
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: query
>            Reporter: David Wisneski
>            Assignee: Pinaki Poddar
>            Priority: Minor
>             Fix For: 1.3.0
>
>
> the query is 
> select sum(loginCount), sum(logoutCount) from AccountEntity as a where a.accountProfile.userID like 'uid:%' 
> loginCount and logoutCount are declared in a MappedSuperClass.
> the correct query is 
> select sum(a.loginCount), sum(a.logoutCount) from AccountEntity as a where a.accountProfile.userID like 'uid:%' 
> Rather than a syntax error, a ArgumentException was thrown.  (see below)
> Also the user would like to see a better error message in the case of a field name using wrong upper/lower case.
> In other words, if the query was 
>     where  a.userid = ...
> and what he intended was 
>    where a.userId = ...
> then the message should say  " userid undefined.  DId you mean userId? "
> Also if a state field is inherited but declared private and hence not visible, then error message should read 
>   "a.userId invalid because it is not visible" rather than "a.userId not defined".
>   <4|false|0.9.0-incubating-SNAPSHOT> org.apache.openjpa.persistence.ArgumentException: null
> [11/3/06 12:47:04:734 CST] 0000003c SystemOut     O <4|false|0.9.0-incubating-SNAPSHOT> org.apache.openjpa.persistence.ArgumentException: null
> [11/3/06 12:47:04:734 CST] 0000003c SystemOut     O 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:755)
> [11/3/06 12:47:04:734 CST] 0000003c SystemOut     O 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:716)
> [11/3/06 12:47:04:734 CST] 0000003c SystemOut     O 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:712)
> [11/3/06 12:47:04:734 CST] 0000003c SystemOut     O 	at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:512)
> [11/3/06 12:47:04:734 CST] 0000003c SystemOut     O 	at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:216)
> [11/3/06 12:47:04:734 CST] 0000003c SystemOut     O 	at org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:271)
> [11/3/06 12:47:04:734 CST] 0000003c SystemOut     O 	at org.apache.geronimo.samples.daytrader.ejb3.TradeJPA.resetTrade(TradeJPA.java:1864)
> while running a JPA query.  The code for it looks like the following:
> 	q = em.createQuery("select sum(loginCount), sum(logoutCount) from AccountEntity as a where a.accountProfile.userID like 'uid:%'");
> 	Object[] rs = (Object[]) q.getSingleResult();

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.