|
From: <hib...@li...> - 2006-06-21 21:12:18
|
Author: ste...@jb...
Date: 2006-06-21 17:11:30 -0400 (Wed, 21 Jun 2006)
New Revision: 10037
Added:
trunk/Hibernate3/test/org/hibernate/test/sql/Dimension.java
Modified:
trunk/Hibernate3/test/org/hibernate/test/sql/General.hbm.xml
trunk/Hibernate3/test/org/hibernate/test/sql/GeneralTest.java
Log:
mimic particular test from JPA testsuite
Added: trunk/Hibernate3/test/org/hibernate/test/sql/Dimension.java
===================================================================
--- trunk/Hibernate3/test/org/hibernate/test/sql/Dimension.java 2006-06-21 19:42:52 UTC (rev 10036)
+++ trunk/Hibernate3/test/org/hibernate/test/sql/Dimension.java 2006-06-21 21:11:30 UTC (rev 10037)
@@ -0,0 +1,29 @@
+package org.hibernate.test.sql;
+
+/**
+ * Used to mimic some tests from the JPA testsuite...
+ *
+ * @author Steve Ebersole
+ */
+public class Dimension {
+ private Long id;
+ private int length;
+ private int width;
+
+ public Dimension(int length, int width) {
+ this.length = length;
+ this.width = width;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public int getLength() {
+ return length;
+ }
+
+ public int getWidth() {
+ return 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 19:42:52 UTC (rev 10036)
+++ trunk/Hibernate3/test/org/hibernate/test/sql/General.hbm.xml 2006-06-21 21:11:30 UTC (rev 10037)
@@ -77,7 +77,15 @@
<one-to-many class="Order"/>
</set>
</class>
-
+
+ <class name="Dimension">
+ <id name="id" type="long">
+ <generator class="increment"/>
+ </id>
+ <property name="length" column="d_len"/>
+ <property name="width" column="d_width"/>
+ </class>
+
<resultset name="org-emp-regionCode">
<return-scalar column="regionCode" type="string"/>
<return alias="org" class="Organization"/>
Modified: trunk/Hibernate3/test/org/hibernate/test/sql/GeneralTest.java
===================================================================
--- trunk/Hibernate3/test/org/hibernate/test/sql/GeneralTest.java 2006-06-21 19:42:52 UTC (rev 10036)
+++ trunk/Hibernate3/test/org/hibernate/test/sql/GeneralTest.java 2006-06-21 21:11:30 UTC (rev 10037)
@@ -72,7 +72,7 @@
public void testFailOnNoAddEntityOrScalar() {
// Note: this passes, but for the wrong reason.
- // there is actually an exception thrown, but it is the database
+ // there is actually an exception thrown, but it is the database
// throwing a sql exception because the SQL gets passed
// "un-processed"...
Session s = openSession();
@@ -89,7 +89,7 @@
s.close();
}
}
-
+
public void testSQLQueryInterface() {
Session s = openSession();
Transaction t = s.beginTransaction();
@@ -116,13 +116,13 @@
.addJoin("pers", "emp.employee")
.list();
assertEquals( l.size(), 1 );
-
+
t.commit();
s.close();
-
+
s = openSession();
t = s.beginTransaction();
-
+
l = s.createSQLQuery( "select {org.*}, {emp.*} " +
"from ORGANIZATION org " +
" left outer join EMPLOYMENT emp on org.ORGID = emp.EMPLOYER, ORGANIZATION org2" )
@@ -134,10 +134,10 @@
t.commit();
s.close();
-
+
s = openSession();
t = s.beginTransaction();
-
+
s.delete(emp);
s.delete(gavin);
s.delete(ifa);
@@ -146,7 +146,7 @@
t.commit();
s.close();
}
-
+
public void testResultSetMappingDefinition() {
Session s = openSession();
Transaction t = s.beginTransaction();
@@ -178,7 +178,7 @@
t.commit();
s.close();
}
-
+
public void testScalarValues() throws Exception {
Session s = openSession();
Transaction t = s.beginTransaction();
@@ -254,7 +254,7 @@
t.commit();
s.close();
}
-
+
public void testMappedAliasStrategy() {
Session s = openSession();
Transaction t = s.beginTransaction();
@@ -292,8 +292,8 @@
Map m = (Map) res;
assertEquals(2,m.size());
t.commit();
- s.close();
-
+ s.close();
+
s = openSession();
t = s.beginTransaction();
sqlQuery = s.getNamedQuery("organizationreturnproperty");
@@ -308,7 +308,7 @@
assertEquals(2, m.size());
t.commit();
s.close();
-
+
s = openSession();
t = s.beginTransaction();
namedQuery = s.getNamedQuery("EmploymentAndPerson");
@@ -317,7 +317,7 @@
Object[] objs = (Object[]) list.get(0);
assertEquals(2, objs.length);
emp2 = (Employment) objs[0];
- gavin = (Person) objs[1];
+ gavin = (Person) objs[1];
s.delete(emp2);
s.delete(jboss);
s.delete(gavin);
@@ -325,7 +325,7 @@
t.commit();
s.close();
}
-
+
/* test for native sql composite id joins which has never been implemented */
public void testCompositeIdJoinsFailureExpected() {
Session s = openSession();
@@ -338,55 +338,55 @@
product.getProductId().setOrgid( "x" );
product.getProductId().setProductnumber( "1234" );
product.setName( "Hibernate 3" );
-
+
Order order = new Order();
order.setOrderId( new Order.OrderId() );
order.getOrderId().setOrdernumber( "1" );
order.getOrderId().setOrgid( "y" );
-
+
product.getOrders().add( order );
order.setProduct( product );
order.setPerson( person );
-
+
s.save( product );
s.save( order);
s.save( person );
-
+
t.commit();
s.close();
-
+
s = openSession();
t = s.beginTransaction();
Product p = (Product) s.createQuery( "from Product p join fetch p.orders" ).list().get(0);
assertTrue(Hibernate.isInitialized( p.getOrders()));
t.commit();
s.close();
-
+
s = openSession();
t = s.beginTransaction();
- Object[] o = (Object[]) s.createSQLQuery( "select\r\n" +
- " product.orgid as {product.id.orgid}," +
- " product.productnumber as {product.id.productnumber}," +
- " {prod_orders}.orgid as orgid3_1_,\r\n" +
- " {prod_orders}.ordernumber as ordernum2_3_1_,\r\n" +
+ Object[] o = (Object[]) s.createSQLQuery( "select\r\n" +
+ " product.orgid as {product.id.orgid}," +
+ " product.productnumber as {product.id.productnumber}," +
+ " {prod_orders}.orgid as orgid3_1_,\r\n" +
+ " {prod_orders}.ordernumber as ordernum2_3_1_,\r\n" +
" product.name as {product.name}," +
- " {prod_orders.element.*}," +
- /*" orders.PROD_NO as PROD4_3_1_,\r\n" +
- " orders.person as person3_1_,\r\n" +
- " orders.PROD_ORGID as PROD3_0__,\r\n" +
- " orders.PROD_NO as PROD4_0__,\r\n" +
- " orders.orgid as orgid0__,\r\n" +
- " orders.ordernumber as ordernum2_0__ \r\n" +*/
- " from\r\n" +
- " Product product \r\n" +
- " inner join\r\n" +
- " TBL_ORDER {prod_orders} \r\n" +
- " on product.orgid={prod_orders}.PROD_ORGID \r\n" +
+ " {prod_orders.element.*}," +
+ /*" orders.PROD_NO as PROD4_3_1_,\r\n" +
+ " orders.person as person3_1_,\r\n" +
+ " orders.PROD_ORGID as PROD3_0__,\r\n" +
+ " orders.PROD_NO as PROD4_0__,\r\n" +
+ " orders.orgid as orgid0__,\r\n" +
+ " orders.ordernumber as ordernum2_0__ \r\n" +*/
+ " from\r\n" +
+ " Product product \r\n" +
+ " inner join\r\n" +
+ " TBL_ORDER {prod_orders} \r\n" +
+ " on product.orgid={prod_orders}.PROD_ORGID \r\n" +
" and product.productnumber={prod_orders}.PROD_NO" )
.addEntity( "product", Product.class )
.addJoin( "prod_orders", "product.orders" )
.list().get(0);
-
+
p = (Product) o[0];
assertTrue(Hibernate.isInitialized( p.getOrders() ));
assertNotNull(p.getOrders().iterator().next());
@@ -430,12 +430,12 @@
Map m = (Map) list.get(0);
assertTrue(m.containsKey("Employment"));
assertEquals(1,m.size());
-
+
list = s.createSQLQuery(getEmploymentSQL()).list();
assertEquals(1, list.size());
Object[] o = (Object[]) list.get(0);
assertEquals(8, o.length);
-
+
list = s.createSQLQuery(getEmploymentSQL()).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
assertEquals(1, list.size());
m = (Map) list.get(0);
@@ -443,16 +443,16 @@
assertTrue(m.containsKey("VALUE"));
assertTrue(m.containsKey("ENDDATE"));
assertEquals(8, m.size());
-
+
list = s.createSQLQuery( getEmploymentSQLMixedScalarEntity() ).addScalar( "employerid" ).addEntity( Employment.class ).list();
assertEquals(1, list.size());
o = (Object[]) list.get(0);
assertEquals(2, o.length);
assertClassAssignability( o[0].getClass(), Number.class);
assertClassAssignability( o[1].getClass(), Employment.class);
-
-
-
+
+
+
Query queryWithCollection = s.getNamedQuery("organizationEmploymentsExplicitAliases");
queryWithCollection.setLong("id", jboss.getId() );
list = queryWithCollection.list();
@@ -491,6 +491,16 @@
s = openSession();
t = s.beginTransaction();
+ Dimension dim = new Dimension( 3, Integer.MAX_VALUE );
+ s.save( dim );
+// s.flush();
+ list = s.createSQLQuery( "select d_len * d_width as surface, d_len * d_width * 10 as volume from Dimension" ).list();
+ s.delete( dim );
+ t.commit();
+ s.close();
+
+ s = openSession();
+ t = s.beginTransaction();
s.delete(emp2);
s.delete(jboss);
@@ -500,9 +510,9 @@
s.close();
}
-
-
+
+
public static Test suite() {
return new TestSuite(GeneralTest.class);
}
|