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)
Show replies by date