From: <one...@us...> - 2003-01-24 13:07:24
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/hql In directory sc8-pr-cvs1:/tmp/cvs-serv9385/sf/hibernate/hql Modified Files: QueryTranslator.java Log Message: fixed bug in generated SQL for loading <joined-subclass>es Index: QueryTranslator.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/hql/QueryTranslator.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** QueryTranslator.java 24 Jan 2003 10:21:34 -0000 1.9 --- QueryTranslator.java 24 Jan 2003 13:07:16 -0000 1.10 *************** *** 454,459 **** for ( int i=0; i<joins; i++ ) ojsuffixes[i] = Integer.toString(i) + StringHelper.UNDERSCORE; ojl.setSuffixes(ojsuffixes); ! selectProperties = persister.propertySelectClauseFragment(name, StringHelper.EMPTY_STRING); ! selectIdentifiers = persister.identifierSelectClauseFragment(name, StringHelper.EMPTY_STRING); outerJoinedProperties = ojl.selectString(associations); outerjoin = ojl.outerJoins(associations); --- 454,459 ---- for ( int i=0; i<joins; i++ ) ojsuffixes[i] = Integer.toString(i) + StringHelper.UNDERSCORE; ojl.setSuffixes(ojsuffixes); ! selectProperties = persister.propertySelectFragment(name, StringHelper.EMPTY_STRING); ! selectIdentifiers = persister.identifierSelectFragment(name, StringHelper.EMPTY_STRING); outerJoinedProperties = ojl.selectString(associations); outerjoin = ojl.outerJoins(associations); *************** *** 527,531 **** String name = (String) returnTypes.get(k); String suffix = size==1 ? StringHelper.EMPTY_STRING : Integer.toString(k) + StringHelper.UNDERSCORE; ! buf.append( persisters[k].identifierSelectClauseFragment(name, suffix) ); if ( k!=size-1 ) buf.append(StringHelper.COMMA_SPACE); } --- 527,531 ---- String name = (String) returnTypes.get(k); String suffix = size==1 ? StringHelper.EMPTY_STRING : Integer.toString(k) + StringHelper.UNDERSCORE; ! buf.append( persisters[k].identifierSelectFragment(name, suffix) ); if ( k!=size-1 ) buf.append(StringHelper.COMMA_SPACE); } *************** *** 556,560 **** String suffix = (size==1) ? StringHelper.EMPTY_STRING : Integer.toString(k) + StringHelper.UNDERSCORE; String name = (String) returnTypes.get(k) ; ! buf.append( persisters[k].propertySelectClauseFragment(name, suffix) ); } return buf.toString(); --- 556,560 ---- String suffix = (size==1) ? StringHelper.EMPTY_STRING : Integer.toString(k) + StringHelper.UNDERSCORE; String name = (String) returnTypes.get(k) ; ! buf.append( persisters[k].propertySelectFragment(name, suffix) ); } return buf.toString(); *************** *** 639,647 **** String name = (String) iter.next(); Queryable p = getPersisterForName(name); buf.append(' ') ! .append( p.fromClauseFragment( name, true, returnTypes.contains(name) && !isShallowQuery() ) ); if ( iter.hasNext() || collections.size()!=0 ) buf.append(','); } if (outerjoin!=null) buf.append( outerjoin.toFromFragmentString() ); --- 639,651 ---- String name = (String) iter.next(); Queryable p = getPersisterForName(name); + boolean includeSubclasses = returnTypes.contains(name) && !isShallowQuery(); buf.append(' ') ! .append( p.fromTableFragment(name) ) ! .append( p.fromJoinFragment(name, true, includeSubclasses) ); if ( iter.hasNext() || collections.size()!=0 ) buf.append(','); } + // add any outerjoins required for association fetching + // TODO: (need to move inside loop, eventually) if (outerjoin!=null) buf.append( outerjoin.toFromFragmentString() ); *************** *** 666,669 **** --- 670,674 ---- // add any outerjoins required for fetching associations + // TODO: (need to move inside loop, eventually) if (outerjoin!=null) inClassWheres.append( outerjoin.toWhereFragmentString() ); |