|
From: <hib...@li...> - 2006-06-30 23:35:01
|
Author: epbernard
Date: 2006-06-30 19:34:54 -0400 (Fri, 30 Jun 2006)
New Revision: 10074
Added:
trunk/Hibernate3/test/org/hibernate/test/sql/Speech.java
Modified:
trunk/Hibernate3/test/org/hibernate/test/sql/General.hbm.xml
trunk/Hibernate3/test/org/hibernate/test/sql/GeneralTest.java
Log:
HHH-1871 error when mixing entities and scalar
Modified: trunk/Hibernate3/test/org/hibernate/test/sql/General.hbm.xml
===================================================================
--- trunk/Hibernate3/test/org/hibernate/test/sql/General.hbm.xml 2006-06-30 06:12:36 UTC (rev 10073)
+++ trunk/Hibernate3/test/org/hibernate/test/sql/General.hbm.xml 2006-06-30 23:34:54 UTC (rev 10074)
@@ -99,6 +99,14 @@
</component>
</class>
+ <class name="Speech">
+ <id name="id" type="integer">
+ <generator class="increment"/>
+ </id>
+ <property name="name" column="name"/>
+ <property name="length" column="flength"/>
+ </class>
+
<resultset name="org-emp-regionCode">
<return-scalar column="regionCode" type="string"/>
<return alias="org" class="Organization"/>
@@ -130,6 +138,15 @@
<return-scalar column="volume"/>
</resultset>
+ <resultset name="speech">
+ <return alias="sp" class="Speech">
+ <return-property name="id" column="id"/>
+ <return-property name="name" column="name"/>
+ <return-property name="length" column="flength"/>
+ </return>
+ <return-scalar column="scalarName"/>
+ </resultset>
+
<sql-query name="spaceship" resultset-ref="spaceship-vol">
select id as id,
fld_name as name,
Modified: trunk/Hibernate3/test/org/hibernate/test/sql/GeneralTest.java
===================================================================
--- trunk/Hibernate3/test/org/hibernate/test/sql/GeneralTest.java 2006-06-30 06:12:36 UTC (rev 10073)
+++ trunk/Hibernate3/test/org/hibernate/test/sql/GeneralTest.java 2006-06-30 23:34:54 UTC (rev 10074)
@@ -542,6 +542,25 @@
}
+ public void testMixAndMatchEntityScalar() {
+ Session s = openSession();
+ Transaction t = s.beginTransaction();
+ Speech speech = new Speech();
+ speech.setLength( 23d );
+ speech.setName( "Mine" );
+ s.persist( speech );
+ s.flush();
+ s.clear();
+
+ List l = s.createSQLQuery( "select name, id, flength, name as scalarName from Speech" )
+ .setResultSetMapping( "speech" )
+ .list();
+ assertEquals( l.size(), 1 );
+
+ t.rollback();
+ s.close();
+ }
+
private double extractDoubleValue(Object value) {
if ( value instanceof BigInteger ) {
return ( ( BigInteger ) value ).doubleValue();
Added: trunk/Hibernate3/test/org/hibernate/test/sql/Speech.java
===================================================================
--- trunk/Hibernate3/test/org/hibernate/test/sql/Speech.java 2006-06-30 06:12:36 UTC (rev 10073)
+++ trunk/Hibernate3/test/org/hibernate/test/sql/Speech.java 2006-06-30 23:34:54 UTC (rev 10074)
@@ -0,0 +1,35 @@
+//$Id: $
+package org.hibernate.test.sql;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class Speech {
+ private Integer id;
+ private String name;
+ private Double length;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Double getLength() {
+ return length;
+ }
+
+ public void setLength(Double length) {
+ this.length = length;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
|