From: <one...@us...> - 2002-11-06 00:58:06
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl In directory usw-pr-cvs1:/tmp/cvs-serv20968/hibernate/impl Modified Files: SessionFactoryImpl.java Log Message: another fix to make queries work properly with table-per-concrete-class Index: SessionFactoryImpl.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/impl/SessionFactoryImpl.java,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -d -r1.57 -r1.58 *** SessionFactoryImpl.java 5 Nov 2002 15:24:35 -0000 1.57 --- SessionFactoryImpl.java 6 Nov 2002 00:58:02 -0000 1.58 *************** *** 594,606 **** while ( iter.hasNext() ) { ClassPersister p = (ClassPersister) iter.next(); ! if ( ! (p instanceof Queryable) && ( ! clazz.equals( p.getMappedClass() ) || ( ! ( ! ( (Queryable) p ).isInherited() ) && ! clazz.isAssignableFrom( p.getMappedClass() ) ! ) ! ) ! ) { ! results.add( p.getClassName() ); } } --- 594,607 ---- while ( iter.hasNext() ) { ClassPersister p = (ClassPersister) iter.next(); ! if ( p instanceof Queryable ) { ! Queryable q = (Queryable) p; ! if ( clazz.equals( q.getMappedClass() ) ) { ! results.add( q.getClassName() ); ! } ! else if ( clazz.isAssignableFrom( q.getMappedClass() ) ) { ! if ( !q.isInherited() || !clazz.isAssignableFrom( q.getMappedSuperclass() ) ) { ! results.add( q.getClassName() ); ! } ! } } } |