Skip to content

Commit

Permalink
HHH-3383 - QueryKey is storing references to entities instead of iden…
Browse files Browse the repository at this point in the history
…tifiers

git-svn-id: https://svn.jboss.org/repos/hibernate/core/branches/Branch_3_2@16661 1b8cb986-b30d-0410-93ca-fae66ebed9b2
  • Loading branch information
sebersole committed Jun 1, 2009
1 parent 99d780d commit 4965452
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions src/org/hibernate/cache/QueryKey.java
Expand Up @@ -91,19 +91,25 @@ public static QueryKey generateQueryKey(
}

// disassemble named parameters
Map namedParameters = CollectionHelper.mapOfSize( queryParameters.getNamedParameters().size() );
Iterator itr = queryParameters.getNamedParameters().entrySet().iterator();
while ( itr.hasNext() ) {
final Map.Entry namedParameterEntry = ( Map.Entry ) itr.next();
final TypedValue original = ( TypedValue ) namedParameterEntry.getValue();
namedParameters.put(
namedParameterEntry.getKey(),
new TypedValue(
original.getType(),
original.getType().disassemble( original.getValue(), session, null ),
session.getEntityMode()
)
);
final Map namedParameters;
if ( queryParameters.getNamedParameters() == null ) {
namedParameters = null;
}
else {
namedParameters = CollectionHelper.mapOfSize( queryParameters.getNamedParameters().size() );
Iterator itr = queryParameters.getNamedParameters().entrySet().iterator();
while ( itr.hasNext() ) {
final Map.Entry namedParameterEntry = ( Map.Entry ) itr.next();
final TypedValue original = ( TypedValue ) namedParameterEntry.getValue();
namedParameters.put(
namedParameterEntry.getKey(),
new TypedValue(
original.getType(),
original.getType().disassemble( original.getValue(), session, null ),
session.getEntityMode()
)
);
}
}

// decode row selection...
Expand Down

0 comments on commit 4965452

Please sign in to comment.