Java Mailing List Archive

http://www.gg3721.com/

Home » Hibernate Issues List »

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

Anupam M (JIRA)

2010-03-18

Replies: Find Java Web Hosting

Author LoginPost Reply

  [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=35871#action_35871 ]

Paul Benedict commented on HHH-1088:
------------------------------------

Unless EnhancedProjection has uses beyond composite keys, should it just be called Composite[Key]Projection?

> IdentifierProjection does not work with composite keys
> ------------------------------------------------------
>
>           Key: HHH-1088
>           URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1088
>         Project: Hibernate Core
>       Issue Type: Bug
>       Components: query-criteria
>   Affects Versions: 3.1 rc2
>        Reporter: Max Muermann
>        Assignee: Gail Badner
>         Fix For: 3.5.0.Next
>
>      Attachments: CompositeIdProjection.java, CriteriaLoader.java
>
>
> 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

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