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 );
}
|