Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister In directory sc8-pr-cvs1:/tmp/cvs-serv9385/sf/hibernate/persister Modified Files: AbstractEntityPersister.java EntityPersister.java Loadable.java NormalizedEntityPersister.java Log Message: fixed bug in generated SQL for loading <joined-subclass>es Index: AbstractEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/AbstractEntityPersister.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** AbstractEntityPersister.java 20 Jan 2003 12:48:14 -0000 1.5 --- AbstractEntityPersister.java 24 Jan 2003 13:07:17 -0000 1.6 *************** *** 124,128 **** } ! public String identifierSelectClauseFragment(String name, String suffix) { return new SelectFragment() .setSuffix(suffix) --- 124,128 ---- } ! public String identifierSelectFragment(String name, String suffix) { return new SelectFragment() .setSuffix(suffix) Index: EntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/EntityPersister.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** EntityPersister.java 24 Jan 2003 10:21:35 -0000 1.8 --- EntityPersister.java 24 Jan 2003 13:07:17 -0000 1.9 *************** *** 776,780 **** } ! public String fromClauseFragment(String name, boolean innerJoin, boolean includeSubclasses) { return getTableName() + ' ' + name; } --- 776,780 ---- } ! public String fromTableFragment(String name) { return getTableName() + ' ' + name; } *************** *** 820,824 **** } ! public String propertySelectClauseFragment(String name, String suffix) { SelectFragment frag = new SelectFragment() --- 820,824 ---- } ! public String propertySelectFragment(String name, String suffix) { SelectFragment frag = new SelectFragment() *************** *** 833,841 **** } ! public String fromJoinFragment(String alias, boolean innerJoin) { return StringHelper.EMPTY_STRING; } ! public String whereJoinFragment(String alias, boolean innerJoin) { return StringHelper.EMPTY_STRING; } --- 833,841 ---- } ! public String fromJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses) { return StringHelper.EMPTY_STRING; } ! public String whereJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses) { return StringHelper.EMPTY_STRING; } Index: Loadable.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/Loadable.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Loadable.java 24 Jan 2003 10:21:36 -0000 1.5 --- Loadable.java 24 Jan 2003 13:07:17 -0000 1.6 *************** *** 89,96 **** /** * Given a query alias and an identifying suffix, render the * intentifier select fragment */ ! public String identifierSelectClauseFragment(String name, String suffix); /** * Given a query alias and an identifying suffix, render the --- 89,102 ---- /** + * Get the table alias for the particular subclass state + * (optional operation) + */ + public String getConcreteClassAlias(String alias); + + /** * Given a query alias and an identifying suffix, render the * intentifier select fragment */ ! public String identifierSelectFragment(String name, String suffix); /** * Given a query alias and an identifying suffix, render the *************** *** 98,116 **** * (optional operation) */ ! public String propertySelectClauseFragment(String alias, String suffix); /** ! * Get the from clause fragment, given a query alias * (optional operation) */ ! public String fromClauseFragment(String alias, boolean innerJoin, boolean includeSubclasses); ! /** ! * Get the table alias for the particular subclass state * (optional operation) */ ! public String getConcreteClassAlias(String alias); ! ! public String whereJoinFragment(String alias, boolean innerJoin); ! public String fromJoinFragment(String alias, boolean innerJoin); } --- 104,123 ---- * (optional operation) */ ! public String propertySelectFragment(String alias, String suffix); /** ! * Get the main from table fragment, given a query alias * (optional operation) */ ! public String fromTableFragment(String alias); /** ! * Get the where clause part of any joins * (optional operation) */ ! public String whereJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses); ! /** ! * Get the from clause part of any joins ! * (optional operation) ! */ ! public String fromJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses); } Index: NormalizedEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/NormalizedEntityPersister.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NormalizedEntityPersister.java 24 Jan 2003 10:21:36 -0000 1.2 --- NormalizedEntityPersister.java 24 Jan 2003 13:07:17 -0000 1.3 *************** *** 912,922 **** } ! public String fromClauseFragment(String alias, boolean innerJoin, boolean includeSubclasses) { ! StringBuffer buf = new StringBuffer(100); ! buf.append( subclassTableNameClosure[0] ) ! .append(' ') ! .append(alias) ! .append( outerjoin(alias, innerJoin, includeSubclasses).toFromFragmentString() ); ! return buf.toString(); } --- 912,917 ---- } ! public String fromTableFragment(String alias) { ! return subclassTableNameClosure[0] + ' ' + alias; } *************** *** 937,946 **** } - public String queryWhereFragment(String alias, boolean includeSubclasses) throws MappingException { - String ojw = outerjoin(alias, true, includeSubclasses).toWhereFragmentString(); - return ( ojw.trim().length()==0 ) ? null : ojw; - - } - private int getTableId(String tableName, String[] tables) { for ( int tab=0; tab<tables.length; tab++ ) { --- 932,935 ---- *************** *** 980,984 **** } ! public String propertySelectClauseFragment(String alias, String suffix) { String[] cols = getSubclassColumnClosure(); --- 969,973 ---- } ! public String propertySelectFragment(String alias, String suffix) { String[] cols = getSubclassColumnClosure(); *************** *** 1023,1032 **** } ! public String fromJoinFragment(String alias, boolean innerJoin) { ! return outerjoin(alias, innerJoin, true).toFromFragmentString(); } ! public String whereJoinFragment(String alias, boolean innerJoin) { ! return outerjoin(alias, innerJoin, true).toWhereFragmentString(); } --- 1012,1025 ---- } ! public String fromJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses) { ! return outerjoin(alias, innerJoin, includeSubclasses).toFromFragmentString(); } ! public String whereJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses) { ! return outerjoin(alias, innerJoin, includeSubclasses).toWhereFragmentString(); ! } ! ! public String queryWhereFragment(String alias, boolean includeSubclasses) throws MappingException { ! return whereJoinFragment(alias, true, includeSubclasses); } |