[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-3300) HQL looks for property in wrong class and reports "could not resolve property"

Cristian Bogdan (JIRA) noreply at atlassian.com
Sun May 25 18:00:32 EDT 2008


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-3300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_30257 ] 

Cristian Bogdan commented on HHH-3300:
--------------------------------------

to make this work, i did something like

[SELECT it.project.color AS col1 FROM projman.Deficienta def JOIN def.item it WHEREexists (FROM projman.Project proj, projman.Principal grp JOIN grp.groupMembers p WHERE proj=it.project AND p=:principal AND grp.displayName='Beneficiar'  AND grp in elements(proj.participants))
)) ORDER BY it.end] 


> HQL looks for property in wrong class and reports "could not resolve property"
> ------------------------------------------------------------------------------
>
>                 Key: HHH-3300
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3300
>             Project: Hibernate3
>          Issue Type: Bug
>          Components: query-hql
>    Affects Versions: 3.2.6
>         Environment: Hibernate 3.2.6.ga, mysql 5.0.37
>            Reporter: Cristian Bogdan
>
> could not resolve property: groupMembers of: projman.Project 
> [SELECT it.project.color AS col1 FROM projman.Deficienta def JOIN def.item it WHERE exists (FROM it.project.participants grp JOIN grp.groupMembers p WHERE p=:principal )
> )) ORDER BY it.end]
> the problem is, groupMembers is not a property of projman.Project, but a bag in projman,Principal.
> as soon as I replace the it.project.color projection with e.g. it.start (i.e. i don't make any other join with projman.Project), the query works.
> the original query is actually more complicated but i reduced my test to the above for simplicity. rewriting the query without subqueries is not an option.
> i paste the relevant (generated) mappings.
> <hibernate-mapping auto-import="false">
> <class name="projman.Project" table="projman_Project_">
> <id name="primaryKey" column="Project_">
> <generator class="identity"/>
> </id>
> <property name="TS_modify" column="TS_modify_"/>
> <property name="TS_create" column="TS_create_"/>
> <property name="name">
> <column name="name_" length="255"/>
> </property>
> <bag name="participants" table="projman_Project__participants_" cascade="all" inverse="false">
> <key column="Project_"/>
> <many-to-many class="projman.Principal" column="Principal_"/>
> </bag>
> <many-to-one name="beneficiar" column="beneficiar_" cascade="all" class="projman.Company"/>
> <many-to-one name="generalDesigner" column="generalDesigner_" cascade="all" class="projman.Compa
> ny"/>
> <bag name="signExecution" table="projman_Project__signExecution_" cascade="all" inverse="false">
> <key column="Project_"/>
> <many-to-many class="projman.Company" column="Company_"/>
> </bag>
> <property name="color">
> <column name="color_" length="6"/>
> </property>
> </class>
> </hibernate-mapping>
> <hibernate-mapping auto-import="false">
> <class name="projman.Principal" table="projman_Principal_">
> <id name="primaryKey" column="Principal_">
> <generator class="identity"/>
> </id>
> <property name="TS_modify" column="TS_modify_"/>
> <property name="TS_create" column="TS_create_"/>
> <property name="kind" column="kind_"/>
> <bag name="groupMembers" table="projman_Principal__groupMembers_" cascade="all" inverse="false">
> <key column="Principal_"/>
> <many-to-many class="projman.Principal" column="Principal__"/>
> </bag>
> <property name="displayName">
> <column name="displayName_" length="255"/>
> </property>
> </class>
> </hibernate-mapping>
> <hibernate-mapping auto-import="false">
> <class name="projman.Deficienta" table="projman_Deficienta_">
> <id name="primaryKey" column="Deficienta_">
> <generator class="identity"/>
> </id>
> <property name="TS_modify" column="TS_modify_"/>
> <property name="TS_create" column="TS_create_"/>
> <many-to-one name="item" column="item_" cascade="all" class="projman.Item"/>
> <many-to-one name="firma" column="firma_" cascade="all" class="projman.Company"/>
> <bag name="alteFirme" table="projman_Deficienta__alteFirme_" cascade="all" inverse="false">
> <key column="Deficienta_"/>
> <many-to-many class="projman.Company" column="Company_"/>
> </bag>
> <property name="amenda" column="amenda_"/>
> </class>
> </hibernate-mapping>
> <hibernate-mapping auto-import="false">
> <class name="projman.Item" table="projman_Item_">
> <id name="primaryKey" column="Item_">
> <generator class="identity"/>
> </id>
> <property name="TS_modify" column="TS_modify_"/>
> <property name="TS_create" column="TS_create_"/>
> <many-to-one name="project" column="project_" cascade="all" class="projman.Project"/>
> <property name="type" column="type_"/>
> <bag name="toWhom" table="projman_Item__toWhom_" cascade="all" inverse="false">
> <key column="Item_"/>
> <many-to-many class="projman.Principal" column="Principal_"/>
> </bag>
> <property name="subject">
> <column name="subject_" length="255"/>
> </property>
> <property name="description" type="org.makumba.db.hibernate.TextUserType">
> <column name="description_" sql-type="longtext"/>
> </property>
> <many-to-one name="creator" column="creator_" cascade="all" class="projman.Principal"/>
> <property name="creationDate" column="creationDate_"/>
> <property name="start" column="start_"/>
> <property name="end" column="end_"/>
> <bag name="events" inverse="true" cascade="none">
> <key column="Item_"/>
> <one-to-many class="projman.Item__events"/>
> </bag>
> <bag name="attachments" table="projman_Item__attachments_" cascade="all" inverse="false">
> <key column="Item_"/>
> <many-to-many class="projman.Document" column="Document_"/>
> </bag>
> </class>
> </hibernate-mapping>

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