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