[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-1400) Using formula-based property causes invalid SQL code for children "subselect" query

Rostyslav Smirnov (JIRA) noreply at atlassian.com
Wed Nov 16 12:56:20 EST 2011


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

Rostyslav Smirnov updated HHH-1400:
-----------------------------------

    Attachment: SubselectFetch.java.patch

Attached a patch with proposed fix that handles arbitrary nested queries.

> Using formula-based property causes invalid SQL code for children "subselect" query
> -----------------------------------------------------------------------------------
>
>                 Key: HHH-1400
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1400
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.1 rc3
>         Environment: Hibernate 3.0.5, Hibernate 3.1rc3
> Oracle 8i
>            Reporter: Chris Rogers
>         Attachments: SubselectFetch.java, SubselectFetch.java.patch, SubselectFormulaBug.zip, subselectformula.zip
>
>
> I have simple one-to-many relationship, mapped as set:
> <class name="Parent">
>         <set name="children" lazy="false" fetch="subselect">
>             <key column="PARENT_OID"/>
>             <one-to-many class="Child"/>
>         </set>
> </class>
> this works fine, constructing subselect SQL which looks like (e.g. for HQL query  "from Parent"):
> select <child fields> from <child table> where child.PARENT_OID in (select this_.OID from PARENT this_)
> (simplified)
> However, when adding a formula-based property into Parent:
> <property name="myFormulaField" formula="(complex_select )"/>
> Now SQL becomes:
> select <child fields> from <child table> where PARENT_OID in (complex_select) as formula0_1_, <some parent fields> from PARENT this_)
> This SQL fails because of incorrect grammar (it also seems that backet is missing).
> This is something weird, because subselect fetching only needs Parent's identity column, not any other properties. And I don't think it should be affected by Parent's formula-based properties.
> I can provide more details if necessary, I stripped out all extra mapping/SQL stuff because it seems to be irrelevant here.
> This bug appeared in 3.0.5 later I've downloaded 3.1rc3 and it also fails.

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