From: <one...@us...> - 2003-03-16 01:45:56
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister In directory sc8-pr-cvs1:/tmp/cvs-serv21387/src/net/sf/hibernate/persister Modified Files: EntityPersister.java NormalizedEntityPersister.java Log Message: fixed problem loading one-to-many in Sybase alias length limitation for collection columns added force attribute to <discriminator> better handling of 'null' discriminators Index: EntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/EntityPersister.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** EntityPersister.java 4 Mar 2003 10:53:47 -0000 1.20 --- EntityPersister.java 16 Mar 2003 01:45:52 -0000 1.21 *************** *** 74,77 **** --- 74,78 ---- private final String discriminatorColumnName; + private final boolean forceDiscriminator; private final String[] subclassColumnClosure; private final String[] subclassColumnAliasClosure; *************** *** 625,628 **** --- 626,630 ---- Value d = model.getDiscriminator(); if (d==null) throw new MappingException("discriminator mapping required for polymorphic persistence"); + forceDiscriminator = model.isForceDiscriminator(); discriminatorColumnName = ( (Column) d.getColumnIterator().next() ).getName(); try { *************** *** 645,648 **** --- 647,651 ---- } else { + forceDiscriminator = false; discriminatorColumnName = null; discriminatorType = null; *************** *** 822,826 **** public String queryWhereFragment(String name, boolean innerJoin, boolean includeSubclasses) throws MappingException { ! if ( innerJoin && isInherited() ) { InFragment frag = new InFragment() .setColumn( name, getDiscriminatorColumnName() ); --- 825,829 ---- public String queryWhereFragment(String name, boolean innerJoin, boolean includeSubclasses) throws MappingException { ! if ( innerJoin && ( forceDiscriminator || isInherited() ) ) { InFragment frag = new InFragment() .setColumn( name, getDiscriminatorColumnName() ); Index: NormalizedEntityPersister.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/persister/NormalizedEntityPersister.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** NormalizedEntityPersister.java 4 Mar 2003 10:53:47 -0000 1.13 --- NormalizedEntityPersister.java 16 Mar 2003 01:45:52 -0000 1.14 *************** *** 673,679 **** discriminatorSQLString = "0"; } - catch (ClassCastException cce) { - throw new MappingException("Illegal discriminator type: " + model.getDiscriminator().getType().getClass().getName() ); - } catch (Exception e) { throw new MappingException("Could not format discriminator value to SQL string", e ); --- 673,676 ---- |