HHH-14877 - FetchMode.SUBSELECT ignored
- fixed additional tests
This commit is contained in:
parent
96c0b04658
commit
aef0775946
|
@ -16,7 +16,6 @@ import java.util.function.Consumer;
|
|||
import java.util.function.Function;
|
||||
|
||||
import org.hibernate.HibernateException;
|
||||
import org.hibernate.LockMode;
|
||||
import org.hibernate.LockOptions;
|
||||
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
|
||||
import org.hibernate.engine.jdbc.spi.JdbcServices;
|
||||
|
@ -46,6 +45,7 @@ import org.hibernate.sql.ast.tree.from.TableReference;
|
|||
import org.hibernate.sql.ast.tree.predicate.Predicate;
|
||||
import org.hibernate.sql.ast.tree.select.QuerySpec;
|
||||
import org.hibernate.sql.ast.tree.select.SelectStatement;
|
||||
import org.hibernate.sql.exec.internal.CallbackImpl;
|
||||
import org.hibernate.sql.exec.internal.JdbcParameterBindingsImpl;
|
||||
import org.hibernate.sql.exec.spi.Callback;
|
||||
import org.hibernate.sql.exec.spi.ExecutionContext;
|
||||
|
@ -219,6 +219,8 @@ public abstract class AbstractNaturalIdLoader<T> implements NaturalIdLoader<T> {
|
|||
jdbcSelect,
|
||||
jdbcParamBindings,
|
||||
new ExecutionContext() {
|
||||
private final Callback callback = new CallbackImpl();
|
||||
|
||||
@Override
|
||||
public SharedSessionContractImplementor getSession() {
|
||||
return session;
|
||||
|
@ -241,7 +243,7 @@ public abstract class AbstractNaturalIdLoader<T> implements NaturalIdLoader<T> {
|
|||
|
||||
@Override
|
||||
public Callback getCallback() {
|
||||
throw new UnsupportedOperationException( "Follow-on locking not supported yet" );
|
||||
return callback;
|
||||
}
|
||||
|
||||
},
|
||||
|
|
|
@ -29,6 +29,7 @@ import org.hibernate.sql.ast.Clause;
|
|||
import org.hibernate.sql.ast.SqlAstTranslatorFactory;
|
||||
import org.hibernate.sql.ast.tree.expression.JdbcParameter;
|
||||
import org.hibernate.sql.ast.tree.select.SelectStatement;
|
||||
import org.hibernate.sql.exec.internal.CallbackImpl;
|
||||
import org.hibernate.sql.exec.internal.JdbcParameterBindingsImpl;
|
||||
import org.hibernate.sql.exec.spi.Callback;
|
||||
import org.hibernate.sql.exec.spi.ExecutionContext;
|
||||
|
@ -102,6 +103,7 @@ public class SingleUniqueKeyEntityLoaderStandard<T> implements SingleUniqueKeyEn
|
|||
jdbcSelect,
|
||||
jdbcParameterBindings,
|
||||
new ExecutionContext() {
|
||||
private final Callback callback = new CallbackImpl();
|
||||
@Override
|
||||
public SharedSessionContractImplementor getSession() {
|
||||
return session;
|
||||
|
@ -129,7 +131,7 @@ public class SingleUniqueKeyEntityLoaderStandard<T> implements SingleUniqueKeyEn
|
|||
|
||||
@Override
|
||||
public Callback getCallback() {
|
||||
throw new UnsupportedOperationException( "Follow-on locking not supported yet" );
|
||||
return callback;
|
||||
}
|
||||
|
||||
},
|
||||
|
|
|
@ -33,6 +33,7 @@ import org.hibernate.query.spi.QueryParameterBindings;
|
|||
import org.hibernate.result.Output;
|
||||
import org.hibernate.result.Outputs;
|
||||
import org.hibernate.result.spi.ResultContext;
|
||||
import org.hibernate.sql.exec.internal.CallbackImpl;
|
||||
import org.hibernate.sql.exec.spi.Callback;
|
||||
import org.hibernate.sql.exec.spi.ExecutionContext;
|
||||
import org.hibernate.sql.results.NoMoreOutputsException;
|
||||
|
@ -179,6 +180,8 @@ public class OutputsImpl implements Outputs {
|
|||
);
|
||||
|
||||
final ExecutionContext executionContext = new ExecutionContext() {
|
||||
private final Callback callback = new CallbackImpl();
|
||||
|
||||
@Override
|
||||
public SharedSessionContractImplementor getSession() {
|
||||
return OutputsImpl.this.context.getSession();
|
||||
|
@ -206,7 +209,7 @@ public class OutputsImpl implements Outputs {
|
|||
|
||||
@Override
|
||||
public Callback getCallback() {
|
||||
throw new UnsupportedOperationException( "Follow-on locking not supported yet" );
|
||||
return callback;
|
||||
}
|
||||
|
||||
};
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* Hibernate, Relational Persistence for Idiomatic Java
|
||||
*
|
||||
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
|
||||
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
|
||||
*/
|
||||
package org.hibernate.sql.exec.internal;
|
||||
|
||||
import org.hibernate.engine.spi.SharedSessionContractImplementor;
|
||||
import org.hibernate.loader.ast.spi.AfterLoadAction;
|
||||
import org.hibernate.persister.entity.Loadable;
|
||||
import org.hibernate.sql.exec.spi.Callback;
|
||||
|
||||
/**
|
||||
* Implementation of Callback that does nothing
|
||||
*/
|
||||
public class CallbackNoOp implements Callback {
|
||||
/**
|
||||
* Singleton access
|
||||
*/
|
||||
public static final CallbackNoOp NO_OP_CALLBACK = new CallbackNoOp();
|
||||
|
||||
@Override
|
||||
public void registerAfterLoadAction(AfterLoadAction afterLoadAction) {
|
||||
// don't do anything
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invokeAfterLoadActions(SharedSessionContractImplementor session, Object entity, Loadable persister) {
|
||||
// don't do anything
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue