[hibernate-issues] [Hibernate-JIRA] Issue Comment Edited: (HHH-5419) COUNT operator with composite primary key and JPA 2.0 Criteria API produces bad sql
Oliver Gierke (JIRA)
noreply at atlassian.com
Mon Sep 5 02:09:06 EDT 2011
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-5419?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43439#comment-43439 ]
Oliver Gierke edited comment on HHH-5419 at 9/5/11 1:07 AM:
------------------------------------------------------------
The interesting part about is that a) the problem also exists for the use of JPQL, but can be worked around by using {{count(*)}} in that case. So it seems that {{count(*)}} is translated differently into SQL that a {{count(x)}}. Is there a reason to treat both approaches differently?
Reading up the other tickets it seems the problem is not only related to a single dialect but (almost) all available. Here's the complete list (derived from the other tickets):
* Oracle
* MySQL
* HSQL
* MSSQL
was (Author: oliver.gierke):
The interesting part about is that a) the problem also exists for the use of JPQL, but can be worked around by using {{count(*)}} in that case. So it seems that {{count(*)}} is translated differently into SQL that a {{count(x)}}. Is there a reason to treat both approaches differently?
> COUNT operator with composite primary key and JPA 2.0 Criteria API produces bad sql
> -----------------------------------------------------------------------------------
>
> Key: HHH-5419
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5419
> Project: Hibernate Core
> Issue Type: Bug
> Affects Versions: 3.5.4, 3.6.0.Beta1
> Environment: hibernate-entitymanager 3.6.0.Beta1, glassfish 3.0.1, linux ubuntu 10.04, MS SQL Server 2008
> Reporter: Fabio Braga de Oliveira
> Assignee: John Verhaeg
> Priority: Minor
> Fix For: 4.0.0.next
>
> Attachments: hibernate-count-bug.zip
>
>
> Hibernate produces a invalid SQL if anyone use the count() operator with the JPA 2.0 Criteria API. Code:
> CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
> CriteriaQuery<Object[]> cq = cb.createQuery(Object[].class);
> Root<EntityCompositePK> r = cq.from(EntityCompositePK.class);
> cq.multiselect(cb.count(r));
> assertEquals(0, ((Long) (getEntityManager().createQuery(cq).getSingleResult())[0]).intValue());
> I'm sending a little maven project which reproduces the bug.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list