[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