[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-3045) Duplicated column aliases in scalar query

Tobias Troesch (JIRA) noreply at atlassian.com
Wed Jun 9 05:28:10 EDT 2010


     [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-3045?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tobias Troesch updated HHH-3045:
--------------------------------

    Attachment: sql-gen.g

Changed grammar file for the class SqlGeneratorBase

> Duplicated column aliases in scalar query
> -----------------------------------------
>
>                 Key: HHH-3045
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3045
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.2.5
>         Environment: Hibernate 3.2.4SP1, 3.2.5GA
> Oracle 10g
>            Reporter: Anderson Souza
>            Priority: Critical
>         Attachments: ddl-tables.sql, dominio.zip, sql-gen.g
>
>
> The HQL bellow works fine, but when I add a call to a funcion in the select clause the SQL generated has duplicated aliases and it generate error on query execution, because the query is paginated.
> {code}
> select	a
> from 	Area a 
> 	inner join fetch a.horarioPadrao
> 	left outer join fetch a.horarioTemporario as hrtemp
> {code}
> The SQL generated for this query is:
> {code}
> select * from (
>   select  area0_.cod_local as cod1_15_0_, 
>           horarioare1_.cod_area as cod1_6_1_, 
>           horarioare2_.cod_area as cod1_7_2_, 
>           area0_.des_local as des2_15_0_, 
>           area0_.sig_local as sig3_15_0_, 
>           area0_.flg_extinto as flg4_15_0_, 
>           horarioare1_.hr_hora_ini as hr2_6_1_, 
>           horarioare1_.hr_hora_fim as hr3_6_1_, 
>           horarioare1_.flg_fim_semana as flg4_6_1_, 
>           horarioare2_.hr_hora_ini as hr2_7_2_, 
>           horarioare2_.hr_hora_fim as hr3_7_2_, 
>           horarioare2_.flg_fim_semana as flg4_7_2_, 
>           horarioare2_.dat_ini_vigencia as dat5_7_2_, 
>           horarioare2_.dat_fim_vigencia as dat6_7_2_ 
>   from    esq_fp.tb_local area0_ 
>           inner join tb_horario_local_padrao horarioare1_ on area0_.cod_local=horarioare1_.cod_area 
>           left outer join tb_horario_local_temporario horarioare2_ on area0_.cod_local=horarioare2_.cod_area 
>   where   1=1 
>   order by area0_.sig_local ) 
> where rownum <= ?
> {code}
> The scalar HQL query that generate duplicated column names is:
> {code}
> select	a, count(*)
> from 	Area a 
> 	inner join fetch a.horarioPadrao
> 	left outer join fetch a.horarioTemporario as hrtemp
> {code}
> The SQL generated is:
> {code}
> select * from (
>   select  area0_.cod_local as col_0_0_, 
>           count(*) as col_1_0_, 
>           horarioare1_.cod_area as cod1_6_1_, 
>           horarioare2_.cod_area as cod1_7_2_, 
>           area0_.cod_local as cod1_15_0_, 
>           horarioare1_.cod_area as cod1_6_1_, 
>           horarioare2_.cod_area as cod1_7_2_, 
>           area0_.des_local as des2_15_0_, 
>           area0_.sig_local as sig3_15_0_, 
>           area0_.flg_extinto as flg4_15_0_, 
>           horarioare1_.hr_hora_ini as hr2_6_1_, 
>           horarioare1_.hr_hora_fim as hr3_6_1_, 
>           horarioare1_.flg_fim_semana as flg4_6_1_, 
>           horarioare2_.hr_hora_ini as hr2_7_2_, 
>           horarioare2_.hr_hora_fim as hr3_7_2_, 
>           horarioare2_.flg_fim_semana as flg4_7_2_, 
>           horarioare2_.dat_ini_vigencia as dat5_7_2_, 
>           horarioare2_.dat_fim_vigencia as dat6_7_2_ 
>   from    esq_fp.tb_local area0_ 
>           inner join tb_horario_local_padrao horarioare1_ on area0_.cod_local=horarioare1_.cod_area 
>           left outer join tb_horario_local_temporario horarioare2_ on area0_.cod_local=horarioare2_.cod_area 
>   where 1=1 
>   order by area0_.sig_local )
> where rownum <= ?
> {code}
> As you can see the aliases cod1_6_1_ and  cod1_7_2_ are repeated and this repetition breaks the paginated query, beacause the main query appears in the from clause.
> The HBM's and classes are attached.

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