[hibernate-issues] [Hibernate-JIRA] Closed: (HHH-2739) 'illegal attempt to dereference collection' when referencing a single-valued association in an implicit join

Steve Ebersole (JIRA) noreply at atlassian.com
Wed Oct 3 15:23:25 EDT 2007


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

Steve Ebersole closed HHH-2739.
-------------------------------

      Assignee: Steve Ebersole
    Resolution: Cannot Reproduce

> 'illegal attempt to dereference collection' when referencing a single-valued association in an implicit join
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: HHH-2739
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2739
>             Project: Hibernate3
>          Issue Type: Bug
>    Affects Versions: 3.2.3, 3.2.4, 3.2.4.sp1
>         Environment: I have found that behaviour in version 3.2.4.sp1 and 3.2.3 (I didn't test 3.2.4 pre sp1)
> Database: ORACLE 10g
>            Reporter: Martin Kouba
>            Assignee: Steve Ebersole
>
> After upgrading to the latest Hibernate version I got this error.
> I try to use a statement like this
> from cat c where c.mate.id = 13
> the expected resulting SQL should be something like
> SELECT * FROM CAT C WHERE C.MATE_ID = 13
> which is much more performant than making a join
> from cat c join c.mate m where m.id = 13
> which would result in something like that
> SELECT * FROM CAT C INNER JOIN MATE M ON C.MATE_ID = M.ID WHERE M.ID = 13
> This works as expected in 3.1.3, 3.2.0 and 3.2.2
> It doesn't work with version 3.2.3 and with 3.2.4.sp1.
> As test case you can take the example from the documentation chapter 5.1.16
> <?xml version="1.0"?>
> <!DOCTYPE hibernate-mapping PUBLIC
>         "-//Hibernate/Hibernate Mapping DTD//EN"
>         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
> <hibernate-mapping package="eg">
>         <class name="Cat" table="CATS">
>                 <id name="id" column="uid" type="long">
>                         <generator class="hilo"/>
>                 </id>
>                 <property name="birthdate" type="date"/>
>                 <property name="color" not-null="true"/>
>                 <property name="sex" not-null="true"/>
>                 <property name="weight"/>
>                 <many-to-one name="mate"/>
>                 <set name="kittens">
>                         <key column="MOTHER"/>
>                         <one-to-many class="Cat"/>
>                 </set>
>                 <joined-subclass name="DomesticCat" table="DOMESTIC_CATS">
>                     <key column="CAT"/>
>                     <property name="name" type="string"/>
>                 </joined-subclass>
>         </class>
>         <class name="eg.Dog">
>                 <!-- mapping for Dog could go here -->
>         </class>
> </hibernate-mapping>
> c = new Cat();
> c.setMate(new Cat());
> c.persist();
> int id = c.getId();
> List results = session.createQuery("from Cat as c where c.mate.id = 16).list();
> according to manual section 14.5 this should work
> http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#queryhql-identifier-property
> Ok, I hope this is clear enough and the test case is clear enough as well.
> This is a major stopper for an upgrade. I have reported that on June 11th
> http://opensource.atlassian.com/projects/hibernate/browse/HHH-2667
> But it seems that others used the same case to report a similar issue regarding automatic joins.
> According to Christian Bauer automatic joins are no longer supported, closed the case and told me to reopen it again.
> So to all others please do not add comments to this case if it is not about it. And to the Hibernate developers: Greate work you are doing but please I think the issue was clear when I reported it the first time. It is quite easy to reproduce and occurs quite often in a medium size project.
> Gratitude
> Martin

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