[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-1685) DetachedCriteria doesn't create alias on subcriteria

Philip Saville (JIRA) noreply at atlassian.com
Tue Jan 16 20:28:45 EST 2007


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1685?page=comments#action_25810 ] 

Philip Saville commented on HHH-1685:
-------------------------------------

The work around doesn't work when trying to add criterion to the subcriteria which is now only an alias.

I am trying to convert my code to use DetachedCriteria instead of Criteria and what was working for one or two deep joins does not work when using DetachedCriteria.

Originally, when using "createCriteria" method - the error was:
org.springframework.orm.hibernate3.HibernateQueryException: could not resolve property: ALIAS_NAME_FOR_SUBCRITERIA of: SUBCRITERIA_OBJECT; nested exception is org.hibernate.QueryException: could not resolve property: ALIAS_NAME_FOR_SUBCRITERIA of: SUBCRITERIA_OBJECT
	org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:651)
	org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:408)
	org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:367)
	org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:328)

Now, when trying the work around "createAlias" method - the error is:
org.springframework.orm.hibernate3.HibernateQueryException: could not resolve property: FIELD_IN_SUBCRITERIA_TABLE of: CRITERIA_OBJECT; nested exception is org.hibernate.QueryException: could not resolve property: FIELD_IN_SUBCRITERIA_TABLE of: CRITERIA_OBJECT
	org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:651)
	org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:408)
	org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:367)
	org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:328)



When will this issue be fixed? Can't someone just make the above mentioned change and have it be part of the next build?



> DetachedCriteria doesn't create alias on subcriteria
> ----------------------------------------------------
>
>          Key: HHH-1685
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1685
>      Project: Hibernate3
>         Type: Bug

>   Components: query-criteria
>     Versions: 3.1.3
>     Reporter: John
>  Attachments: hhh1685-example.txt
>
>
> DetachedCriteria has two createCriteria methods:
> 	public DetachedCriteria createCriteria(String associationPath)	throws HibernateException 
> 	public DetachedCriteria createCriteria(String associationPath, String alias) throws HibernateException
> However, the code for both was identical - they called the inner criteria's createCriteria(String) method. The version with the alias did not call the inner's version with the alias.  The following patch snipped shows the change:
>  	public DetachedCriteria createCriteria(String associationPath, String alias)
>  	throws HibernateException {
> -		return new DetachedCriteria( impl, criteria.createCriteria(associationPath) );
> +		return new DetachedCriteria( impl, criteria.createCriteria(associationPath, alias) );
>  	}
> This bug was discovered while trying to link a 2-deep subquery to its parent via aliases.  (Surfacing this issue might only be possible with the patch HHH-952 in place - I'm not sure.  Seems like a bug regardless, as it definitely fixed my alias reference issue.)  I'll get an example posted shortly.

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