|
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;
+ }
+}
|