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 ----
|