Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test In directory sc8-pr-cvs1:/tmp/cvs-serv6974/test Modified Files: FooBarTest.java Glarch.hbm.xml Glarch.java Parent.java ParentChild.hbm.xml ParentChildTest.java Log Message: fixed a problem in ObjectType fixed a bug where PreparedStatements were returned to cache with setMaxRows() still set Index: FooBarTest.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/FooBarTest.java,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** FooBarTest.java 15 Feb 2003 08:00:52 -0000 1.22 --- FooBarTest.java 19 Feb 2003 02:02:13 -0000 1.23 *************** *** 273,281 **** s.iterate("select one, max(one.manies.elements) from one in class net.sf.hibernate.test.One group by one"); Iterator iter = s.iterate("select baz.fooArray.elements from baz in class Baz where baz.id=?", baz.getCode(), Hibernate.STRING); ! assertTrue( iter.next()==null && iter.next()==foos[1] && !iter.hasNext() ); List list = s.find("select baz.fooArray.elements from baz in class Baz where baz.id=?", baz.getCode(), Hibernate.STRING); ! assertTrue( list.size()==2 ); iter = s.iterate("select indices(baz.fooArray) from baz in class Baz where baz.id=?", baz.getCode(), Hibernate.STRING); ! assertTrue( iter.next().equals( new Integer(0) ) && iter.next().equals( new Integer(1) ) && !iter.hasNext() ); iter = s.iterate("select baz, max(baz.timeArray.elements) from baz in class Baz group by baz"); --- 273,284 ---- s.iterate("select one, max(one.manies.elements) from one in class net.sf.hibernate.test.One group by one"); Iterator iter = s.iterate("select baz.fooArray.elements from baz in class Baz where baz.id=?", baz.getCode(), Hibernate.STRING); ! //WAS: assertTrue( iter.next()==null && iter.next()==foos[1] && !iter.hasNext() ); ! assertTrue( iter.next()==foos[1] && !iter.hasNext() ); List list = s.find("select baz.fooArray.elements from baz in class Baz where baz.id=?", baz.getCode(), Hibernate.STRING); ! //WAS: assertTrue( list.size()==2 ); ! assertTrue( list.size()==1 ); iter = s.iterate("select indices(baz.fooArray) from baz in class Baz where baz.id=?", baz.getCode(), Hibernate.STRING); ! //WAS: assertTrue( iter.next().equals( new Integer(0) ) && iter.next().equals( new Integer(1) ) && !iter.hasNext() ); ! assertTrue( iter.next().equals( new Integer(1) ) && !iter.hasNext() ); iter = s.iterate("select baz, max(baz.timeArray.elements) from baz in class Baz group by baz"); *************** *** 886,890 **** assertTrue( list.size()==2, "component query" ); } ! list = s.find("from foo in class net.sf.hibernate.test.Foo where foo.component.importantDates.size = 4"); assertTrue( list.size()==2, "component query" ); list = s.find("from foo in class net.sf.hibernate.test.Foo where 0 = foo.component.importantDates.size"); --- 889,893 ---- assertTrue( list.size()==2, "component query" ); } ! list = s.find("from foo in class net.sf.hibernate.test.Foo where foo.component.importantDates.size = 3"); //WAS: 4 assertTrue( list.size()==2, "component query" ); list = s.find("from foo in class net.sf.hibernate.test.Foo where 0 = foo.component.importantDates.size"); *************** *** 931,935 **** assertTrue( row[0] instanceof String && ( row[1]==null || row[1] instanceof Date ) ); } ! assertTrue(i==4); iter = s.iterate( "select max(foo.component.importantDates.elements) from foo in class net.sf.hibernate.test.Foo group by foo.id" --- 934,938 ---- assertTrue( row[0] instanceof String && ( row[1]==null || row[1] instanceof Date ) ); } ! assertTrue(i==3); //WAS: 4 iter = s.iterate( "select max(foo.component.importantDates.elements) from foo in class net.sf.hibernate.test.Foo group by foo.id" *************** *** 2435,2439 **** } ! public void testUserProvidedConnection() throws Exception { ConnectionProvider dcp = new DriverManagerConnectionProvider(); --- 2438,2442 ---- } ! public void testUserProvidedConnection() throws Exception { ConnectionProvider dcp = new DriverManagerConnectionProvider(); *************** *** 2541,2544 **** --- 2544,2567 ---- } assertTrue(err); + s.connection().commit(); + s.close(); + } + + public void testObjectType() throws Exception { + Session s = sessions.openSession(); + Glarch g = new Glarch(); + Foo foo = new Foo(); + g.setAny(foo); + Serializable gid = s.save(g); + s.save(foo); + s.flush(); + s.connection().commit(); + s.close(); + s = sessions.openSession(); + g = (Glarch) s.load(Glarch.class, gid); + assertTrue( g.getAny()!=null && g.getAny() instanceof Foo ); + s.delete( g.getAny() ); + s.delete(g); + s.flush(); s.connection().commit(); s.close(); Index: Glarch.hbm.xml =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/Glarch.hbm.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Glarch.hbm.xml 2 Feb 2003 06:41:06 -0000 1.5 --- Glarch.hbm.xml 19 Feb 2003 02:02:15 -0000 1.6 *************** *** 46,49 **** --- 46,53 ---- <property name="immutable" update="false"/> <property name="derivedVersion" insert="false" update="false" column="version"/> + <property name="any" type="object"> + <column name="any_id"/> + <column name="any_class"/> + </property> </class> Index: Glarch.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/Glarch.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Glarch.java 28 Jan 2003 10:22:21 -0000 1.6 --- Glarch.java 19 Feb 2003 02:02:15 -0000 1.7 *************** *** 32,35 **** --- 32,36 ---- private String immutable; private int derivedVersion; + private Object any; public int getVersion() { *************** *** 191,194 **** --- 192,211 ---- public void setDerivedVersion(int derivedVersion) { this.derivedVersion = derivedVersion; + } + + /** + * Returns the any. + * @return Object + */ + public Object getAny() { + return any; + } + + /** + * Sets the any. + * @param any The any to set + */ + public void setAny(Object any) { + this.any = any; } Index: Parent.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/Parent.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Parent.java 5 Jan 2003 02:11:23 -0000 1.3 --- Parent.java 19 Feb 2003 02:02:15 -0000 1.4 *************** *** 6,9 **** --- 6,10 ---- private int count; private Child child; + private Object any; public int getCount() { *************** *** 36,40 **** } ! } --- 37,48 ---- } ! public Object getAny() { ! return any; ! } ! ! public void setAny(Object any) { ! this.any = any; ! } ! } Index: ParentChild.hbm.xml =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/ParentChild.hbm.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ParentChild.hbm.xml 28 Jan 2003 10:22:21 -0000 1.3 --- ParentChild.hbm.xml 19 Feb 2003 02:02:16 -0000 1.4 *************** *** 11,14 **** --- 11,18 ---- <property name="count" column="count_"/> <one-to-one name="child"/> + <property name="any" type="object"> + <column name="any_id"/> + <column name="any_class"/> + </property> </class> Index: ParentChildTest.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/test/ParentChildTest.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ParentChildTest.java 9 Feb 2003 06:28:16 -0000 1.5 --- ParentChildTest.java 19 Feb 2003 02:02:16 -0000 1.6 *************** *** 296,300 **** System.out.println( c.getComponents() ); System.out.println( c.getComposites() ); ! assertTrue( c.getComponents().size()==2 ); assertTrue( c.getComposites().size()==2 ); assertTrue( c.getOneToMany().size()==2 ); --- 296,300 ---- System.out.println( c.getComponents() ); System.out.println( c.getComposites() ); ! assertTrue( c.getComponents().size()==1 ); //WAS: 2 assertTrue( c.getComposites().size()==2 ); assertTrue( c.getOneToMany().size()==2 ); *************** *** 314,318 **** System.out.println( c.getComponents() ); System.out.println( c.getComposites() ); ! assertTrue( c.getComponents().size()==2 ); assertTrue( c.getComposites().size()==2 ); assertTrue( ( (Container.ContainerInnerClass) c.getComponents().get(0) ).getName().equals("a different name") ); --- 314,318 ---- System.out.println( c.getComponents() ); System.out.println( c.getComposites() ); ! assertTrue( c.getComponents().size()==1 ); //WAS: 2 assertTrue( c.getComposites().size()==2 ); assertTrue( ( (Container.ContainerInnerClass) c.getComponents().get(0) ).getName().equals("a different name") ); *************** *** 582,585 **** --- 582,605 ---- s.delete(s1); s.delete(s2); s.delete(s3); s.delete(s4); tx.commit(); + s.close(); + } + + public void testObjectType() throws Exception { + Session s = sessions.openSession(); + Parent g = new Parent(); + Foo foo = new Foo(); + g.setAny(foo); + s.save(g); + s.save(foo); + s.flush(); + s.connection().commit(); + s.close(); + s = sessions.openSession(); + g = (Parent) s.load( Parent.class, new Long( g.getId() ) ); + assertTrue( g.getAny()!=null && g.getAny() instanceof Foo ); + s.delete( g.getAny() ); + s.delete(g); + s.flush(); + s.connection().commit(); s.close(); } |