From: <one...@us...> - 2003-04-08 14:08:48
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/loader In directory sc8-pr-cvs1:/tmp/cvs-serv23476/loader Modified Files: AbstractEntityLoader.java CriteriaLoader.java Log Message: fixed an order by clause bug in new Criteria stuff Index: AbstractEntityLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/loader/AbstractEntityLoader.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AbstractEntityLoader.java 8 Mar 2003 06:31:23 -0000 1.2 --- AbstractEntityLoader.java 8 Apr 2003 14:07:12 -0000 1.3 *************** *** 22,27 **** alias = alias( persister.getClassName(), 0 ); } ! protected void renderStatement(String condition, SessionFactoryImplementor factory) throws MappingException { List associations = walkTree(persister, alias, factory); --- 22,31 ---- alias = alias( persister.getClassName(), 0 ); } ! protected void renderStatement(String condition, SessionFactoryImplementor factory) throws MappingException { + renderStatement(condition, StringHelper.EMPTY_STRING, factory); + } + + protected void renderStatement(String condition, String orderBy, SessionFactoryImplementor factory) throws MappingException { List associations = walkTree(persister, alias, factory); *************** *** 47,50 **** --- 51,55 ---- persister.whereJoinFragment(alias, true, true) ) + .setOrderByClause(orderBy) .toStatementString(); Index: CriteriaLoader.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/loader/CriteriaLoader.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CriteriaLoader.java 9 Mar 2003 04:04:08 -0000 1.2 --- CriteriaLoader.java 8 Apr 2003 14:07:12 -0000 1.3 *************** *** 39,51 **** } iter = criteria.iterateOrderings(); - if ( iter.hasNext() ) condition.append(" order by "); while ( iter.hasNext() ) { Order ord = (Order) iter.next(); ! condition.append( ord.toSqlString(factory, criteria.getPersistentClass(), alias) ); ! if ( iter.hasNext() ) condition.append(", "); } ! renderStatement( condition.toString(), factory ); } --- 39,51 ---- } + StringBuffer orderBy = new StringBuffer(30); iter = criteria.iterateOrderings(); while ( iter.hasNext() ) { Order ord = (Order) iter.next(); ! orderBy.append( ord.toSqlString(factory, criteria.getPersistentClass(), alias) ); ! if ( iter.hasNext() ) orderBy.append(", "); } ! renderStatement( condition.toString(), orderBy.toString(), factory ); } |