HHH-14877 - FetchMode.SUBSELECT ignored
- fixed Oracle errors related to follow-on locking
This commit is contained in:
parent
653de50aa5
commit
96c0b04658
|
@ -34,10 +34,6 @@ public interface ExecutionContext {
|
||||||
|
|
||||||
Callback getCallback();
|
Callback getCallback();
|
||||||
|
|
||||||
default void invokeAfterLoadActions(SharedSessionContractImplementor session, Object entity, Loadable persister) {
|
|
||||||
// No-op because by default there is no callback
|
|
||||||
}
|
|
||||||
|
|
||||||
default String getQueryIdentifier(String sql) {
|
default String getQueryIdentifier(String sql) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ import org.hibernate.event.spi.PostLoadEvent;
|
||||||
import org.hibernate.event.spi.PostLoadEventListener;
|
import org.hibernate.event.spi.PostLoadEventListener;
|
||||||
import org.hibernate.event.spi.PreLoadEvent;
|
import org.hibernate.event.spi.PreLoadEvent;
|
||||||
import org.hibernate.persister.entity.Loadable;
|
import org.hibernate.persister.entity.Loadable;
|
||||||
|
import org.hibernate.sql.exec.spi.Callback;
|
||||||
import org.hibernate.sql.results.graph.Initializer;
|
import org.hibernate.sql.results.graph.Initializer;
|
||||||
import org.hibernate.sql.results.graph.collection.internal.ArrayInitializer;
|
import org.hibernate.sql.results.graph.collection.internal.ArrayInitializer;
|
||||||
import org.hibernate.query.spi.QueryOptions;
|
import org.hibernate.query.spi.QueryOptions;
|
||||||
|
@ -190,16 +191,17 @@ public class JdbcValuesSourceProcessingStateStandardImpl implements JdbcValuesSo
|
||||||
postLoadEvent.setEntity( loadingEntityEntry.getEntityInstance() )
|
postLoadEvent.setEntity( loadingEntityEntry.getEntityInstance() )
|
||||||
.setId( entityKey.getIdentifier() )
|
.setId( entityKey.getIdentifier() )
|
||||||
.setPersister( loadingEntityEntry.getDescriptor() );
|
.setPersister( loadingEntityEntry.getDescriptor() );
|
||||||
for ( PostLoadEventListener listener : listenerGroup.listeners() ) {
|
listenerGroup.fireEventOnEachListener( postLoadEvent, PostLoadEventListener::onPostLoad );
|
||||||
listener.onPostLoad( postLoadEvent );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
executionContext.invokeAfterLoadActions(
|
final Callback callback = executionContext.getCallback();
|
||||||
getSession(),
|
if ( callback != null ) {
|
||||||
loadingEntityEntry.getEntityInstance(),
|
callback.invokeAfterLoadActions(
|
||||||
(Loadable) loadingEntityEntry.getDescriptor()
|
getSession(),
|
||||||
);
|
loadingEntityEntry.getEntityInstance(),
|
||||||
|
(Loadable) loadingEntityEntry.getDescriptor()
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
loadingEntityMap = null;
|
loadingEntityMap = null;
|
||||||
|
|
Loading…
Reference in New Issue