[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-5305) selecting elements from a collection of elements fails strangely

Karsten Behrmann (JIRA) noreply at atlassian.com
Fri Jun 18 07:21:26 EDT 2010


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

Karsten Behrmann commented on HHH-5305:
---------------------------------------

It seems the test is already there, but currently commented out:

CompositeElementTest.java line 77:
{noformat}//s.createQuery("select c from Parent p left outer join p.children c where c.name like 'Child%'").uniqueResult(); //we really need to be able to do this!{noformat}

And yes, this still does not work on 3.5.3


> selecting elements from a collection of elements fails strangely
> ----------------------------------------------------------------
>
>                 Key: HHH-5305
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5305
>             Project: Hibernate Core
>          Issue Type: Improvement
>          Components: query-hql
>    Affects Versions: 3.5.1
>         Environment: PostgreSQL / hsqldb
>            Reporter: Karsten Behrmann
>   Original Estimate: 6h
>  Remaining Estimate: 6h
>
> The query
> "select el from Foo f join f.elements el"
> produces a SQL select clause for merely "elements.id" (though joined correctly),
> if "elements" is a set of composite-element.
> It should rather select for all properties of the composite-element.
> Effect:
> - If there is no column called "id", the query fails database parse
> (provoke by explicitly doing <key column="fooID" />)
> - If the composite-element has more than one property, hibernate ResultSet parsing fails asking for missing col_0_1_
> - If the composite-element has one property, assignment-compatible with whatever the database column "id" happens to be, the query succeeds, returning a list of elements with the property set to the value of "id".
> So it seems like support is almost there. This may be a regression, or a not-quite-completed feature. Succeeding quietly with bad data is Not Good, but the case should not occur much in practice (composite-element with one property is not very useful).
> Workaround: explicitly select each property, as in
> "select el.name, el.created, el.importance from Foo f join f.elements el"
> and manually instantiate the element class.
> (This seems to still fail on <any> properties, but that is probably an unrelated problem)

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