[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-3032) count query used by Query is not compliant JPQL
Mathias Walter (JIRA)
jira-events at lists.jboss.org
Fri Jul 25 08:01:45 EDT 2008
[ https://jira.jboss.org/jira/browse/JBSEAM-3032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12422554#action_12422554 ]
Mathias Walter commented on JBSEAM-3032:
----------------------------------------
According to the JPQL spec:
COUNT ([DISTINCT] identification_variable | state_field_path_expression | single_valued_association_path_expression)
Therefore:
String fromClause = ejbql.substring(fromLoc, orderLoc).trim();
return "select count(" + fromClause.substring(fromClause.lastIndexOf(" ") + 1) + ") " + fromClause;
Please fix the patches. ;)
> count query used by Query is not compliant JPQL
> -----------------------------------------------
>
> Key: JBSEAM-3032
> URL: https://jira.jboss.org/jira/browse/JBSEAM-3032
> Project: Seam
> Issue Type: Bug
> Components: Framework
> Affects Versions: 2.0.2.GA, 2.1.0.A1
> Reporter: Dan Allen
> Assignee: Dan Allen
> Fix For: 2.1.0.BETA1
>
> Attachments: JBSEAM-3032-branch20-v1.txt, JBSEAM-3032-trunk-v1.txt
>
> Original Estimate: 1 hour
> Remaining Estimate: 1 hour
>
> The count query used by getCountEjbQl() in Query is not compliant JPQL. It should be:
> select count(Entity) from Entity entity
> instead of
> select count(*) from Entity entity
> Where "entity" is the class name of the entity (for instance, Person). You can test this by using TopLink or OpenJPA.
> All we need to do is replace the * with the name of the Entity. (We don't even need to fish for the alias used in the query).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the seam-issues
mailing list