Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/map
In directory usw-pr-cvs1:/tmp/cvs-serv16944/hibernate/map
Modified Files:
PersistentClass.java RootClass.java
Log Message:
removed reliance upon discriminator column in MultiTableEntityPersistser
Index: PersistentClass.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/PersistentClass.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** PersistentClass.java 27 Oct 2002 03:11:33 -0000 1.38
--- PersistentClass.java 3 Nov 2002 06:19:59 -0000 1.39
***************
*** 114,127 ****
return n;
}
public Iterator getSubclassIterator() {
Iterator[] iters = new Iterator[ subclasses.size() + 1 ];
- iters[0] = subclasses.iterator();
Iterator iter = subclasses.iterator();
! int i=1;
while ( iter.hasNext() ) {
iters[i++] = ( (Subclass) iter.next() ).getSubclassIterator();
}
return new JoinedIterator(iters);
}
public void addProperty(Property p) {
properties.add(p);
--- 114,136 ----
return n;
}
+ /**
+ * Iterate over subclasses in a special 'order', most derived subclasses
+ * first.
+ */
public Iterator getSubclassIterator() {
Iterator[] iters = new Iterator[ subclasses.size() + 1 ];
Iterator iter = subclasses.iterator();
! int i=0;
while ( iter.hasNext() ) {
iters[i++] = ( (Subclass) iter.next() ).getSubclassIterator();
}
+ iters[i] = subclasses.iterator();
return new JoinedIterator(iters);
}
+
+ public Iterator getDirectSubclasses() {
+ return subclasses.iterator();
+ }
+
public void addProperty(Property p) {
properties.add(p);
Index: RootClass.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/map/RootClass.java,v
retrieving revision 1.48
retrieving revision 1.49
diff -C2 -d -r1.48 -r1.49
*** RootClass.java 31 Oct 2002 14:00:27 -0000 1.48
--- RootClass.java 3 Nov 2002 06:19:59 -0000 1.49
***************
*** 64,70 ****
public void setPolymorphic(boolean polymorphic) {
this.polymorphic = polymorphic;
- if (polymorphic && discriminator == null ) {
- discriminator = new Value( Hibernate.STRING, table, "class" );
- }
}
--- 64,67 ----
|