From: <one...@us...> - 2003-03-08 06:39:42
|
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) { |