[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-1088) IdentifierProjection does not work with composite keys

chris bono (JIRA) noreply at atlassian.com
Fri Jan 12 08:44:44 EST 2007


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

chris bono commented on HHH-1088:
---------------------------------

I have fixed this issue my slightly modifying the CriteriaLoader and IdentifierProjection classes. I will attach the specified files and if anyone wants to commit them, have at it. I simply do not have time to formally submit them but I still want to give the source back.

> IdentifierProjection does not work with composite keys
> ------------------------------------------------------
>
>          Key: HHH-1088
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1088
>      Project: Hibernate3
>         Type: Bug

>     Versions: 3.1 rc2
>     Reporter: Max Muermann
>     Priority: Minor

>
>
> When working with Criteria queries, the IdentifierProjection breaks if the entity has a composite key.
> In IdentifierProjection.java:
> public String toSqlString(Criteria criteria, int position, CriteriaQuery criteriaQuery) 
> 	throws HibernateException {
> 		StringBuffer buf = new StringBuffer();
> 		String[] cols = criteriaQuery.getIdentifierColumns(criteria);
> 		for ( int i=0; i<cols.length; i++ ) {
> 			buf.append( cols[i] )
> 				.append(" as y")
> 				.append(position + i)
> 				.append('_');
> 		}
> 		return buf.toString();
> 	}
> This method does not add commas as separators between the column names. Easily fixed by adding
> if (i<col.length-1)
>   buf.append(",");
> as the last statement inside the loop.
> However, this leads to another problem:
> the type returned by IdentifierProjection.geType is the (single) type of the composite id component. The query will however return the property values of the id component without a mapping step.

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