[hibernate-issues] [Hibernate-JIRA] Closed: (HHH-3743) MININDEX function applied on entity of many-to-many mapped collection yields incorrect SQL

Steve Ebersole (JIRA) noreply at atlassian.com
Wed Feb 3 16:09:29 EST 2010


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

Steve Ebersole closed HHH-3743.
-------------------------------

    Resolution: Duplicate

> MININDEX function applied on entity of many-to-many mapped collection yields incorrect SQL
> ------------------------------------------------------------------------------------------
>
>                 Key: HHH-3743
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3743
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.3.1
>         Environment: Hibernate 3.3.1, org.hibernate.dialect.DerbyDialect and org.hibernate.dialect.MySQLInnoDBDialect
>            Reporter: Stefan Wachter
>
> I have a "t_Person" entity with a "many-to-many" list to a "t_Address" entity:
>    <class entity-name="t_Person" table="F5_T_PERSON" lazy="true">
>       <id name="_id" column="ID" type="long">
>          <generator class="native"/>
>       </id>
>       <list lazy="true" cascade="all" name="elemAddress" table="F5_T_PERSON_ELM_ADDRESS">
>          <key column="OWNER_KEY"/>
>          <list-index column="IDX"/>
>          <many-to-many column="FOREIGN_KEY" entity-name="t_Address"/>
>       </list>
>    </class>
>    <class entity-name="t_Address" table="F5_T_ADDRESS" lazy="true">
>       <id name="_id" column="ID" type="long">
>          <generator class="native"/>
>       </id>
>       <property name="attrStreet" type="string">
>          <column name="A_STREET"/>
>       </property>
>    </class>
> When I try to retrieve the minimum index of address entities using the following HQL
> select MININDEX(a) from t_Person as p join p.elemAddress as a
> incorrect SQL results:
> select min(t_address2_.IDX) as col_0_0_ from F5_T_PERSON t_person0_ inner join F5_T_PERSON_ELM_ADDRESS elemaddres1_ on t_person0_.ID=elemaddres1_.OWNER_KEY inner join F5_T_ADDRESS t_address2_ on elemaddres1_.FOREIGN_KEY=t_address2_.ID
> In particular the addressed column "t_address2_.IDX" does not exists. Instead "elemaddres1_.IDX" should be used because the index column is contained in the join table "F5_T_PERSON_ELM_ADDRESS".
> I assume that the MININDEX function does not consider the case when it is applied to an element of a many-to-many collection.
> I tested this with the DerbyDialect and the MySQLInnoDBDialect.

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