Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl
In directory sc8-pr-cvs1:/tmp/cvs-serv15856/sf/hibernate/impl
Modified Files:
SessionImpl.java
Log Message:
added new criteria + expression API (experimental)
Index: SessionImpl.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/impl/SessionImpl.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** SessionImpl.java 6 Mar 2003 11:11:53 -0000 1.24
--- SessionImpl.java 8 Mar 2003 06:31:22 -0000 1.25
***************
*** 25,28 ****
--- 25,29 ----
import net.sf.hibernate.AssertionFailure;
+ import net.sf.hibernate.Criteria;
import net.sf.hibernate.FlushMode;
import net.sf.hibernate.HibernateException;
***************
*** 52,56 ****
import net.sf.hibernate.collection.ArrayHolder;
import net.sf.hibernate.engine.*;
! import net.sf.hibernate.loader.SearchLoader;
import net.sf.hibernate.persister.ClassPersister;
import net.sf.hibernate.persister.Loadable;
--- 53,57 ----
import net.sf.hibernate.collection.ArrayHolder;
import net.sf.hibernate.engine.*;
! import net.sf.hibernate.loader.CriteriaLoader;
import net.sf.hibernate.persister.ClassPersister;
import net.sf.hibernate.persister.Loadable;
***************
*** 2846,2865 ****
}
! public List find(Class persistentClass, Map propertyNameValues)
throws HibernateException {
if ( log.isTraceEnabled() ) {
log.trace( "search: " + persistentClass.getName() );
! log.trace( "properties: " + propertyNameValues );
}
- String[] propertyNames = new String[ propertyNameValues.size() ];
- Iterator iter = propertyNameValues.keySet().iterator();
- for ( int i=0; i<propertyNameValues.size(); i++ ) {
- propertyNames[i] = (String) iter.next();
- }
Loadable persister = (Loadable) getPersister(persistentClass);
! SearchLoader loader = new SearchLoader(persister, factory, propertyNames);
!
Serializable[] spaces = persister.getPropertySpaces();
Set set = new HashSet();
--- 2847,2867 ----
}
! public Criteria createCriteria(Class persistentClass) {
! return new CriteriaImpl(persistentClass, this);
! }
!
!
! public List find(CriteriaImpl criteria)
throws HibernateException {
+ Class persistentClass = criteria.getPersistentClass();
+
if ( log.isTraceEnabled() ) {
log.trace( "search: " + persistentClass.getName() );
! log.trace( "criteria: " + criteria );
}
Loadable persister = (Loadable) getPersister(persistentClass);
! CriteriaLoader loader = new CriteriaLoader(persister, factory, criteria);
Serializable[] spaces = persister.getPropertySpaces();
Set set = new HashSet();
***************
*** 2869,2873 ****
dontFlushFromFind++;
try {
! return loader.list(this, propertyNameValues);
}
catch (SQLException sqle) {
--- 2871,2875 ----
dontFlushFromFind++;
try {
! return loader.list(this);
}
catch (SQLException sqle) {
|