[hibernate-commits] Hibernate SVN: r21077 - in core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921: core/src/main/java/org/hibernate/engine/loading and 2 other directories.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Fri Sep 14 15:11:34 EDT 2012
Author: brmeyer
Date: 2012-09-14 15:11:34 -0400 (Fri, 14 Sep 2012)
New Revision: 21077
Modified:
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/core/src/main/java/org/hibernate/engine/jdbc/ResultSetWrapperProxy.java
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/core/src/main/java/org/hibernate/engine/loading/CollectionLoadContext.java
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/core/src/main/java/org/hibernate/loader/Loader.java
core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/testsuite/src/test/java/org/hibernate/test/hqlfetchscroll/HQLScrollFetchTest.java
Log:
JBPAPP-9921 Support patch for HHH-1283
Modified: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/core/src/main/java/org/hibernate/engine/jdbc/ResultSetWrapperProxy.java
===================================================================
--- core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/core/src/main/java/org/hibernate/engine/jdbc/ResultSetWrapperProxy.java 2012-09-14 15:55:56 UTC (rev 21076)
+++ core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/core/src/main/java/org/hibernate/engine/jdbc/ResultSetWrapperProxy.java 2012-09-14 19:11:34 UTC (rev 21077)
@@ -87,7 +87,7 @@
*/
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
if ( "findColumn".equals( method.getName() ) ) {
- return findColumn( ( String ) args[0] );
+ return new Integer( findColumn( ( String ) args[0] ) );
}
if ( isFirstArgColumnLabel( method, args ) ) {
@@ -177,7 +177,7 @@
private Object[] buildColumnIndexMethodArgs(Object[] incomingArgs, int columnIndex) {
Object actualArgs[] = new Object[incomingArgs.length];
- actualArgs[0] = columnIndex;
+ actualArgs[0] = new Integer( columnIndex );
System.arraycopy( incomingArgs, 1, actualArgs, 1, incomingArgs.length - 1 );
return actualArgs;
}
Modified: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/core/src/main/java/org/hibernate/engine/loading/CollectionLoadContext.java
===================================================================
--- core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/core/src/main/java/org/hibernate/engine/loading/CollectionLoadContext.java 2012-09-14 15:55:56 UTC (rev 21076)
+++ core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/core/src/main/java/org/hibernate/engine/loading/CollectionLoadContext.java 2012-09-14 19:11:34 UTC (rev 21077)
@@ -173,7 +173,7 @@
*
* @param persister The persister for which to complete loading.
*/
- public void endLoadingCollections(CollectionPersister persister, Object loadedEntity) {
+ public void endLoadingCollections(CollectionPersister persister) {
SessionImplementor session = getLoadContext().getPersistenceContext().getSession();
if ( !loadContexts.hasLoadingCollectionEntries()
&& localLoadingCollectionKeys.isEmpty() ) {
@@ -195,20 +195,17 @@
log.warn( "In CollectionLoadContext#endLoadingCollections, localLoadingCollectionKeys contained [" + collectionKey + "], but no LoadingCollectionEntry was found in loadContexts" );
}
else if ( lce.getResultSet() == resultSet && lce.getPersister() == persister ) {
-
+ if ( matches == null ) {
+ matches = new ArrayList();
+ }
+ matches.add( lce );
+
if ( lce.getCollection().getOwner() == null ) {
session.getPersistenceContext().addUnownedCollection(
new CollectionKey( persister, lce.getKey(), session.getEntityMode() ),
lce.getCollection()
);
}
- else if ( loadedEntity != null && lce.getCollection().getOwner() != loadedEntity ) {
- continue;
- }
- if ( matches == null ) {
- matches = new ArrayList();
- }
- matches.add( lce );
if ( log.isTraceEnabled() ) {
log.trace( "removing collection load entry [" + lce + "]" );
}
Modified: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/core/src/main/java/org/hibernate/loader/Loader.java
===================================================================
--- core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/core/src/main/java/org/hibernate/loader/Loader.java 2012-09-14 15:55:56 UTC (rev 21076)
+++ core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/core/src/main/java/org/hibernate/loader/Loader.java 2012-09-14 19:11:34 UTC (rev 21077)
@@ -351,8 +351,7 @@
hydratedObjects,
resultSet,
session,
- queryParameters.isReadOnly(),
- result
+ queryParameters.isReadOnly()
);
session.getPersistenceContext().initializeNonLazyCollections();
return result;
@@ -412,8 +411,7 @@
hydratedObjects,
resultSet,
session,
- queryParameters.isReadOnly(),
- result
+ queryParameters.isReadOnly()
);
session.getPersistenceContext().initializeNonLazyCollections();
return result;
@@ -998,22 +996,13 @@
return null;
}
}
+
private void initializeEntitiesAndCollections(
final List hydratedObjects,
final Object resultSetId,
final SessionImplementor session,
final boolean readOnly)
throws HibernateException {
- initializeEntitiesAndCollections( hydratedObjects, resultSetId, session, readOnly, null );
- }
-
- private void initializeEntitiesAndCollections(
- final List hydratedObjects,
- final Object resultSetId,
- final SessionImplementor session,
- final boolean readOnly,
- final Object loadedEntity)
- throws HibernateException {
final CollectionPersister[] collectionPersisters = getCollectionPersisters();
if ( collectionPersisters != null ) {
@@ -1024,7 +1013,7 @@
//during loading
//TODO: or we could do this polymorphically, and have two
// different operations implemented differently for arrays
- endCollectionLoad( resultSetId, session, collectionPersisters[i], loadedEntity );
+ endCollectionLoad( resultSetId, session, collectionPersisters[i] );
}
}
}
@@ -1058,7 +1047,7 @@
//the entities, since we might call hashCode() on the elements
//TODO: or we could do this polymorphically, and have two
// different operations implemented differently for arrays
- endCollectionLoad( resultSetId, session, collectionPersisters[i], loadedEntity );
+ endCollectionLoad( resultSetId, session, collectionPersisters[i] );
}
}
}
@@ -1068,13 +1057,12 @@
private void endCollectionLoad(
final Object resultSetId,
final SessionImplementor session,
- final CollectionPersister collectionPersister,
- final Object loadedEntity) {
+ final CollectionPersister collectionPersister) {
//this is a query and we are loading multiple instances of the same collection role
session.getPersistenceContext()
.getLoadContexts()
.getCollectionLoadContext( ( ResultSet ) resultSetId )
- .endLoadingCollections( collectionPersister, loadedEntity );
+ .endLoadingCollections( collectionPersister );
}
/**
Modified: core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/testsuite/src/test/java/org/hibernate/test/hqlfetchscroll/HQLScrollFetchTest.java
===================================================================
--- core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/testsuite/src/test/java/org/hibernate/test/hqlfetchscroll/HQLScrollFetchTest.java 2012-09-14 15:55:56 UTC (rev 21076)
+++ core/patches/hibernate-3.3.2.GA_CP04_JBPAPP-9921/testsuite/src/test/java/org/hibernate/test/hqlfetchscroll/HQLScrollFetchTest.java 2012-09-14 19:11:34 UTC (rev 21077)
@@ -303,16 +303,8 @@
while ( results.next() ) {
list.add( results.get( 0 ) );
}
- try {
- assertResultFromAllUsers( list );
- fail( "should have failed because data is ordered incorrectly." );
- }
- catch ( AssertionError ex ) {
- // expected
- }
- finally {
- s.close();
- }
+ assertFalse( "list is not correct size: ", 2 == list.size() );
+ s.close();
}
finally {
deleteAll();
@@ -330,16 +322,8 @@
s.close();
s = openSession();
List results = s.createQuery( QUERY + " order by c.name desc" ).list();
- try {
- assertResultFromAllUsers( results );
- fail( "should have failed because data is ordered incorrectly." );
- }
- catch ( AssertionError ex ) {
- // expected
- }
- finally {
- s.close();
- }
+ assertFalse( "list is not correct size: ", 2 == results.size() );
+ s.close();
}
finally {
deleteAll();
More information about the hibernate-commits
mailing list