[hibernate-commits] Hibernate SVN: r21108 - core/branches/Branch_3_3_2_GA_CP/core/src/main/java/org/hibernate/type.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Fri May 3 13:45:14 EDT 2013


Author: brmeyer
Date: 2013-05-03 13:45:14 -0400 (Fri, 03 May 2013)
New Revision: 21108

Modified:
   core/branches/Branch_3_3_2_GA_CP/core/src/main/java/org/hibernate/type/ComponentType.java
Log:
HHH-4457 Query with Composite Primary Key parameter crashes when query cache is on

Modified: core/branches/Branch_3_3_2_GA_CP/core/src/main/java/org/hibernate/type/ComponentType.java
===================================================================
--- core/branches/Branch_3_3_2_GA_CP/core/src/main/java/org/hibernate/type/ComponentType.java	2013-04-16 22:27:16 UTC (rev 21107)
+++ core/branches/Branch_3_3_2_GA_CP/core/src/main/java/org/hibernate/type/ComponentType.java	2013-05-03 17:45:14 UTC (rev 21108)
@@ -373,7 +373,16 @@
 
 	public Object[] getPropertyValues(Object component, EntityMode entityMode)
 			throws HibernateException {
-		return tuplizerMapping.getTuplizer( entityMode ).getPropertyValues( component );
+		if (component instanceof Object[]) {
+			// A few calls to hashCode pass the property values already in an
+			// Object[] (ex: QueryKey hash codes for cached queries).
+			// It's easiest to just check for the condition here prior to
+			// trying reflection.
+			return (Object[]) component;
+		} else {
+			return tuplizerMapping.getTuplizer(entityMode).getPropertyValues(
+					component);
+		}
 	}
 
 	public void setPropertyValues(Object component, Object[] values, EntityMode entityMode)



More information about the hibernate-commits mailing list