From: <hib...@li...> - 2006-06-21 21:57:57
|
Author: epbernard Date: 2006-06-21 17:57:55 -0400 (Wed, 21 Jun 2006) New Revision: 10038 Added: trunk/Hibernate3/test/org/hibernate/test/sql/SpaceShip.java Modified: trunk/Hibernate3/test/org/hibernate/test/sql/Dimension.java trunk/Hibernate3/test/org/hibernate/test/sql/General.hbm.xml trunk/Hibernate3/test/org/hibernate/test/sql/GeneralTest.java Log: add failing test for autodiscovery Modified: trunk/Hibernate3/test/org/hibernate/test/sql/Dimension.java =================================================================== --- trunk/Hibernate3/test/org/hibernate/test/sql/Dimension.java 2006-06-21 21:11:30 UTC (rev 10037) +++ trunk/Hibernate3/test/org/hibernate/test/sql/Dimension.java 2006-06-21 21:57:55 UTC (rev 10038) @@ -10,6 +10,8 @@ private int length; private int width; + public Dimension() {} + public Dimension(int length, int width) { this.length = length; this.width = width; Modified: trunk/Hibernate3/test/org/hibernate/test/sql/General.hbm.xml =================================================================== --- trunk/Hibernate3/test/org/hibernate/test/sql/General.hbm.xml 2006-06-21 21:11:30 UTC (rev 10037) +++ trunk/Hibernate3/test/org/hibernate/test/sql/General.hbm.xml 2006-06-21 21:57:55 UTC (rev 10038) @@ -86,6 +86,19 @@ <property name="width" column="d_width"/> </class> + <class name="SpaceShip"> + <id name="id" type="integer"> + <generator class="increment"/> + </id> + <property name="name" column="fld_name"/> + <property name="model" column="fld_model"/> + <property name="speed" column="fld_speed"/> + <component name="dimensions"> + <property name="length" column="fld_length"/> + <property name="width" column="fld_width"/> + </component> + </class> + <resultset name="org-emp-regionCode"> <return-scalar column="regionCode" type="string"/> <return alias="org" class="Organization"/> @@ -104,7 +117,32 @@ <return-join alias="emp" property="org.employments"/> </resultset> - <sql-query name="orgNamesOnly"> + <resultset name="spaceship-vol"> + <return alias="sps" class="SpaceShip"> + <return-property name="id" column="id"/> + <return-property name="name" column="name"/> + <return-property name="model" column="model"/> + <return-property name="speed" column="speed"/> + <return-property name="dimensions.length" column="length"/> + <return-property name="dimensions.width" column="width"/> + </return> + <return-scalar column="surface"/> + <return-scalar column="volume"/> + </resultset> + + <sql-query name="spaceship" resultset-ref="spaceship-vol"> + select id as id, + fld_name as name, + fld_model as model, + fld_speed as speed, + fld_length as length, + fld_width as width, + fld_length * fld_width as surface, + fld_length * fld_width *10 as volume + from SpaceShip + </sql-query> + + <sql-query name="orgNamesOnly"> <return-scalar column="NAME" type="string"/> SELECT org.NAME FROM ORGANIZATION org </sql-query> Modified: trunk/Hibernate3/test/org/hibernate/test/sql/GeneralTest.java =================================================================== --- trunk/Hibernate3/test/org/hibernate/test/sql/GeneralTest.java 2006-06-21 21:11:30 UTC (rev 10037) +++ trunk/Hibernate3/test/org/hibernate/test/sql/GeneralTest.java 2006-06-21 21:57:55 UTC (rev 10038) @@ -4,6 +4,8 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import java.math.BigInteger; +import java.math.BigDecimal; import junit.framework.Test; import junit.framework.TestSuite; @@ -509,6 +511,35 @@ t.commit(); s.close(); + s = openSession(); + t = s.beginTransaction(); + SpaceShip enterprise = new SpaceShip(); + enterprise.setModel( "USS" ); + enterprise.setName( "Entreprise" ); + enterprise.setSpeed( 50d ); + Dimension d = new Dimension(45, 10); + enterprise.setDimensions( d ); + s.save( enterprise ); +// s.flush(); + Object[] result = (Object[]) s.getNamedQuery( "spaceship" ).uniqueResult(); + enterprise = (SpaceShip) result[0]; + assertTrue(50d == enterprise.getSpeed() ); + assertTrue( 450d == ( (BigInteger) result[1] ).doubleValue() ); + assertTrue( 4500d == ( (BigDecimal) result[2] ).doubleValue() ); + s.delete( dim ); + t.commit(); + s.close(); + + s = openSession(); + t = s.beginTransaction(); + s.delete(emp2); + + s.delete(jboss); + s.delete(gavin); + s.delete(ifa); + t.commit(); + s.close(); + } Added: trunk/Hibernate3/test/org/hibernate/test/sql/SpaceShip.java =================================================================== --- trunk/Hibernate3/test/org/hibernate/test/sql/SpaceShip.java 2006-06-21 21:11:30 UTC (rev 10037) +++ trunk/Hibernate3/test/org/hibernate/test/sql/SpaceShip.java 2006-06-21 21:57:55 UTC (rev 10038) @@ -0,0 +1,53 @@ +//$Id: $ +package org.hibernate.test.sql; + +/** + * @author Emmanuel Bernard + */ +public class SpaceShip { + private Integer id; + private String name; + private String model; + private double speed; + private Dimension dimensions; + + public Dimension getDimensions() { + return dimensions; + } + + public void setDimensions(Dimension dimensions) { + this.dimensions = dimensions; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getSpeed() { + return speed; + } + + public void setSpeed(double speed) { + this.speed = speed; + } +} |