[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-5305) Cannot select elements of a collection mapped as composite-element

Gail Badner (JIRA) noreply at atlassian.com
Wed Jun 23 14:06:09 EDT 2010


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

Gail Badner updated HHH-5305:
-----------------------------

    Affects Version/s: 3.5.3
           Issue Type: Bug  (was: Improvement)
              Summary: Cannot select elements of a collection mapped as composite-element  (was: selecting elements from a collection of elements fails strangely)

> Cannot select elements of a collection mapped as composite-element
> ------------------------------------------------------------------
>
>                 Key: HHH-5305
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5305
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: query-hql
>    Affects Versions: 3.5.1, 3.5.3
>         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