[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-892) HQL parser does not resolve alias in ORDER BY clause

siavash mirarab (JIRA) noreply at atlassian.com
Wed Feb 11 14:49:40 EST 2009


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32363#action_32363 ] 

siavash mirarab commented on HHH-892:
-------------------------------------

Gavin, can you describe why this is not a bug (or point us to anywhere that this might be explained)? 
One would expect that if hibernate renames an alias in some places, it would rename it everywhere. That just sounds too natural. Are we missing something?

Also, for those of you who need to live with the workaround, here is an idea:

define an alias for the columns for which you need to order by but call the alias what hibernate would call it. This way, when this issue/new functionality is fixed you would not need to change your code. Here is an example:

SELECT SUM(A.x) AS col_0_0_ FROM MyClass AS A GROUP BY A.y ORDER BY col_0_0_ 

Still, not sure if this workaround is safe when used in different environments and dialects. 

> HQL parser does not resolve alias in ORDER  BY clause
> -----------------------------------------------------
>
>                 Key: HHH-892
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-892
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: query-hql
>    Affects Versions: 3.0.5
>         Environment: Hibernate 3.0.5, MySQL, Tomcat
>            Reporter: Guido Laures
>            Priority: Minor
>
> When using an alias for an ORDER BY clause this is not always correctly resolved. Example:
> SELECT SUM(A.x) AS mySum FROM MyClass AS A GROUP BY A.y ORDER BY mySum
> does not work because "mySum" is not resolved in the ORDER BY clause which results in an exception telling that mySum is an unknown column.
> Workaround (not to say "hack") is using:
> SELECT SUM(A.x) AS mySum FROM MyClass AS A GROUP BY A.y ORDER BY col_0_0_

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the hibernate-issues mailing list