Java Mailing List Archive

http://www.gg3721.com/

Home » Hibernate Issues List »

[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-817) Aggregate
projection aliases should not be applied to where-clause

Anupam M (JIRA)

2008-08-12


Author LoginPost Reply

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

jazir malik commented on HHH-817:
---------------------------------

I agree, I can't see how this issue can be minor and still untouched after such a long time.

> Aggregate projection aliases should not be applied to where-clause
> ------------------------------------------------------------------
>
>           Key: HHH-817
>           URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-817
>         Project: Hibernate3
>       Issue Type: Bug
>       Components: core
>   Affects Versions: 3.0.5
>      Environment: Oracle 9.2.0.6, Hibernate 3.0.5, Spring Framework 1.2.2 based application working on Jakarta Tomcat 5.0.28
>        Reporter: Michal Jastak
>        Priority: Minor
>      Attachments: HHH-817.patch
>
>
> following java code:
> protected Entity loadEntityLightweight(Serializable entityId) throws DataAccessException {
>   Criteria criteria = getSession().createCriteria(Entity.class);  
>   ProjectionList projectionList = Projections.projectionList();
>   projectionList.add(Property.forName(BaseEntity.PROP_ID), BaseEntity.PROP_ID);
>   projectionList.add(Property.forName(BaseEntity.PROP_TYPE), BaseEntity.PROP_TYPE);
>   criteria.setProjection(projectionList);
>   criteria.add(Restrictions.eq(BaseEntity.PROP_ID, entityId));
>   criteria.setResultTransformer(new AliasToBeanResultTransformer(Entity.class));
>   return (Entity) criteria.uniqueResult();
>  }
> generates following SQL query:
> select this_.id as y0_, this_.type as y1_ from entities this_ left outer join facilities this_1_ on this_.id=this_1_.id left outer join users this_2_ on this_.id=this_2_.id left outer join addresses address2_ on this_.address_id=address2_.id left outer join entities entity3_ on this_2_.employer_id=entity3_.id left outer join facilities entity3_1_ on entity3_.id=entity3_1_.id left outer join users entity3_2_ on entity3_.id=entity3_2_.id where y0_=?
> y0_ = ? expression in where clause is causing a 904 error on Oracle 9:
> ORA-00904: "Y0_": invalid identifier
> hibernate dialect: org.hibernate.dialect.Oracle9Dialect
> mapping for Entity class:
> <?xml version="1.0"?>
> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
>                        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
> <hibernate-mapping default-lazy="false" default-cascade="save-update">
>
>  <class name="Entity" table="entities" mutable="true">
>   <id name="id" type="java.lang.Long" unsaved-value="null">
>     <generator class="sequence">
>      <param name="sequence">entities_id_seq</param>
>     </generator>
>   </id>
>   <many-to-one name="address"  class="Address" column="address_id" />
>   ...
>   <!--
>     - Facilities
>     -->
>   <joined-subclass name="Facility" table="facilities">
>     <key column="id" />
>     ...
>     <set name="users" inverse="true" lazy="true">
>      <key column="facility_id" />
>      <one-to-many class="User" />
>     </set>
>   </joined-subclass>
>   <!--
>     - Users
>     -->
>   <joined-subclass name="User" table="users" dynamic-insert="true" dynamic-update="true">
>     <key column="id" />
>     <many-to-one name="employer"  class="Entity" column="employer_id" cascade="none" />
>     ...
>     <set name="userAuthorities" inverse="true" cascade="all-delete-orphan">
>      <key       column="user_id" />
>      <one-to-many class="Authority" />
>     </set>
>   </joined-subclass>
>  </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

   
_______________________________________________
hibernate-issues mailing list
hibernate-issues@(protected)
https://lists.jboss.org/mailman/listinfo/hibernate-issues
©2008 gg3721.com - Jax Systems, LLC, U.S.A.