From: <one...@us...> - 2002-11-24 15:46:23
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister In directory sc8-pr-cvs1:/tmp/cvs-serv4213/cirrus/hibernate/persister Modified Files: EntityPersister.java MultiTableEntityPersister.java Log Message: property of component type may now appear in select clause Index: EntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/EntityPersister.java,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** EntityPersister.java 5 Nov 2002 11:48:08 -0000 1.38 --- EntityPersister.java 24 Nov 2002 15:45:50 -0000 1.39 *************** *** 926,947 **** } } else { ! Iterator iter = prop.getColumnIterator(); ! String[] names = new String[ prop.getColumnSpan() ]; ! int k=0; ! while ( iter.hasNext() ) { ! names[k] = ( (Column) iter.next() ).getName(); ! k++; ! } ! ! Type type = prop.getType(); ! typesByPropertyPath.put(path, type); ! if ( type.isEntityType() && ( (EntityType) type ).isOneToOne() ) { ! columnNamesByPropertyPath.put( path, getIdentifierColumnNames() ); ! } ! else { ! columnNamesByPropertyPath.put(path, names); ! } ! } --- 926,945 ---- } } + + Iterator iter = prop.getColumnIterator(); + String[] names = new String[ prop.getColumnSpan() ]; + int k=0; + while ( iter.hasNext() ) { + names[k] = ( (Column) iter.next() ).getName(); + k++; + } + + Type type = prop.getType(); + typesByPropertyPath.put(path, type); + if ( type.isEntityType() && ( (EntityType) type ).isOneToOne() ) { + columnNamesByPropertyPath.put( path, getIdentifierColumnNames() ); + } else { ! columnNamesByPropertyPath.put(path, names); } *************** *** 1002,1008 **** String[] cols = getPropertyColumnNames(property); ! if (cols==null) throw new QueryException( ! "unresolved property: " + property + " (possibly need to dereference a component)" ! ); if (cols.length==0) { --- 1000,1004 ---- String[] cols = getPropertyColumnNames(property); ! if (cols==null) throw new QueryException("unresolved property: " + property); if (cols.length==0) { Index: MultiTableEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/MultiTableEntityPersister.java,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** MultiTableEntityPersister.java 22 Nov 2002 00:27:09 -0000 1.33 --- MultiTableEntityPersister.java 24 Nov 2002 15:45:50 -0000 1.34 *************** *** 1135,1163 **** } } else { ! Iterator iter = prop.getColumnIterator(); ! String[] names = new String[ prop.getColumnSpan() ]; ! int k=0; ! while ( iter.hasNext() ) { ! names[k] = ( (Column) iter.next() ).getName(); ! k++; ! } ! ! tableNumberByPropertyPath.put( ! path, ! new Integer( getTableId( ! prop.getValue().getTable().getQualifiedName( factory.getDefaultSchema() ), ! subclassTableNameClosure ! ) ) ! ); ! ! Type type = prop.getType(); ! typesByPropertyPath.put(path, type); ! if ( type.isEntityType() && ( (EntityType) type ).isOneToOne() ) { ! columnNamesByPropertyPath.put( path, getIdentifierColumnNames() ); ! } ! else { ! columnNamesByPropertyPath.put(path, names); ! } } --- 1135,1162 ---- } } + + Iterator iter = prop.getColumnIterator(); + String[] names = new String[ prop.getColumnSpan() ]; + int k=0; + while ( iter.hasNext() ) { + names[k] = ( (Column) iter.next() ).getName(); + k++; + } + + tableNumberByPropertyPath.put( + path, + new Integer( getTableId( + prop.getValue().getTable().getQualifiedName( factory.getDefaultSchema() ), + subclassTableNameClosure + ) ) + ); + + Type type = prop.getType(); + typesByPropertyPath.put(path, type); + if ( type.isEntityType() && ( (EntityType) type ).isOneToOne() ) { + columnNamesByPropertyPath.put( path, getIdentifierColumnNames() ); + } else { ! columnNamesByPropertyPath.put(path, names); } *************** *** 1243,1249 **** String[] cols = getPropertyColumnNames(property); ! if (cols==null) throw new QueryException( ! "unresolved property: " + property + " (possibly you need to dereference a component)" ! ); if (cols.length==0) { --- 1242,1246 ---- String[] cols = getPropertyColumnNames(property); ! if (cols==null) throw new QueryException("unresolved property: " + property); if (cols.length==0) { |