[hibernate-commits] Hibernate SVN: r20192 - in core/branches/Branch_3_5/entitymanager/src: test/java/org/hibernate/ejb/criteria/basic and 1 other directories.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Thu Aug 19 12:22:42 EDT 2010
Author: steve.ebersole at jboss.com
Date: 2010-08-19 12:22:41 -0400 (Thu, 19 Aug 2010)
New Revision: 20192
Modified:
core/branches/Branch_3_5/entitymanager/src/main/java/org/hibernate/ejb/criteria/path/AbstractFromImpl.java
core/branches/Branch_3_5/entitymanager/src/test/java/org/hibernate/ejb/criteria/basic/ExpressionsTest.java
core/branches/Branch_3_5/entitymanager/src/test/java/org/hibernate/ejb/metamodel/Phone.java
Log:
HHH-5440 - Joined collection expressions not properly "rendered" in JPA Criteria queries
Modified: core/branches/Branch_3_5/entitymanager/src/main/java/org/hibernate/ejb/criteria/path/AbstractFromImpl.java
===================================================================
--- core/branches/Branch_3_5/entitymanager/src/main/java/org/hibernate/ejb/criteria/path/AbstractFromImpl.java 2010-08-19 16:06:33 UTC (rev 20191)
+++ core/branches/Branch_3_5/entitymanager/src/main/java/org/hibernate/ejb/criteria/path/AbstractFromImpl.java 2010-08-19 16:22:41 UTC (rev 20192)
@@ -118,6 +118,11 @@
return getAlias();
}
+ @Override
+ public String render(CriteriaQueryCompiler.RenderingContext renderingContext) {
+ return renderProjection( renderingContext );
+ }
+
/**
* {@inheritDoc}
*/
Modified: core/branches/Branch_3_5/entitymanager/src/test/java/org/hibernate/ejb/criteria/basic/ExpressionsTest.java
===================================================================
--- core/branches/Branch_3_5/entitymanager/src/test/java/org/hibernate/ejb/criteria/basic/ExpressionsTest.java 2010-08-19 16:06:33 UTC (rev 20191)
+++ core/branches/Branch_3_5/entitymanager/src/test/java/org/hibernate/ejb/criteria/basic/ExpressionsTest.java 2010-08-19 16:22:41 UTC (rev 20192)
@@ -37,6 +37,7 @@
import org.hibernate.Query;
import org.hibernate.ejb.metamodel.AbstractMetamodelSpecificTest;
+import org.hibernate.ejb.metamodel.Phone;
import org.hibernate.ejb.metamodel.Product;
import org.hibernate.ejb.metamodel.Product_;
import org.hibernate.impl.AbstractQueryImpl;
@@ -283,4 +284,18 @@
em.getTransaction().commit();
em.close();
}
+
+ public void testJoinedElementCollectionValuesInTupleList() {
+ EntityManager em = getOrCreateEntityManager();
+ em.getTransaction().begin();
+ CriteriaQuery<Phone> criteria = builder.createQuery( Phone.class );
+ Root<Phone> from = criteria.from( Phone.class );
+ criteria.where(
+ from.join( "types" )
+ .in( Collections.singletonList( Phone.Type.WORK ) )
+ );
+ em.createQuery( criteria ).getResultList();
+ em.getTransaction().commit();
+ em.close();
+ }
}
Modified: core/branches/Branch_3_5/entitymanager/src/test/java/org/hibernate/ejb/metamodel/Phone.java
===================================================================
--- core/branches/Branch_3_5/entitymanager/src/test/java/org/hibernate/ejb/metamodel/Phone.java 2010-08-19 16:06:33 UTC (rev 20191)
+++ core/branches/Branch_3_5/entitymanager/src/test/java/org/hibernate/ejb/metamodel/Phone.java 2010-08-19 16:22:41 UTC (rev 20192)
@@ -23,7 +23,9 @@
*/
package org.hibernate.ejb.metamodel;
+import java.util.Set;
import javax.persistence.Column;
+import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
@@ -38,10 +40,13 @@
@Entity
@Table(name = "PHONE_TABLE")
public class Phone implements java.io.Serializable {
+ public enum Type { LAND_LINE, CELL, FAX, WORK, HOME }
+
private String id;
private String area;
private String number;
private Address address;
+ private Set<Type> types;
public Phone() {
}
@@ -96,4 +101,13 @@
public void setAddress(Address a) {
address = a;
}
+
+ @ElementCollection
+ public Set<Type> getTypes() {
+ return types;
+ }
+
+ public void setTypes(Set<Type> types) {
+ this.types = types;
+ }
}
\ No newline at end of file
More information about the hibernate-commits
mailing list