mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-03-01 23:39:15 +00:00
reset the ValueHandlingMode after pagination
This commit is contained in:
parent
da0b01f1e8
commit
63dde7dc09
@ -17,6 +17,7 @@
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.hibernate.Internal;
|
||||||
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
import org.hibernate.engine.spi.SessionFactoryImplementor;
|
||||||
import org.hibernate.metamodel.model.domain.JpaMetamodel;
|
import org.hibernate.metamodel.model.domain.JpaMetamodel;
|
||||||
import org.hibernate.query.NullPrecedence;
|
import org.hibernate.query.NullPrecedence;
|
||||||
@ -86,7 +87,8 @@ public interface NodeBuilder extends HibernateCriteriaBuilder {
|
|||||||
|
|
||||||
QueryEngine getQueryEngine();
|
QueryEngine getQueryEngine();
|
||||||
|
|
||||||
void setCriteriaValueHandlingMode(ValueHandlingMode criteriaValueHandlingMode);
|
@Internal
|
||||||
|
ValueHandlingMode setCriteriaValueHandlingMode(ValueHandlingMode criteriaValueHandlingMode);
|
||||||
|
|
||||||
<R> SqmTuple<R> tuple(
|
<R> SqmTuple<R> tuple(
|
||||||
Class<R> tupleType,
|
Class<R> tupleType,
|
||||||
|
@ -166,9 +166,14 @@ private SqmSelectStatement<KeyedResult<R>> paginateQuery(
|
|||||||
getSqmSelectStatement().copy( noParamCopyContext() );
|
getSqmSelectStatement().copy( noParamCopyContext() );
|
||||||
final NodeBuilder builder = sqm.nodeBuilder();
|
final NodeBuilder builder = sqm.nodeBuilder();
|
||||||
//TODO: find a better way handle parameters
|
//TODO: find a better way handle parameters
|
||||||
builder.setCriteriaValueHandlingMode(ValueHandlingMode.INLINE);
|
final ValueHandlingMode valueHandlingMode = builder.setCriteriaValueHandlingMode(ValueHandlingMode.INLINE);
|
||||||
|
try {
|
||||||
return paginate( keyDefinition, keyValues, sqm, builder );
|
return paginate( keyDefinition, keyValues, sqm, builder );
|
||||||
}
|
}
|
||||||
|
finally {
|
||||||
|
builder.setCriteriaValueHandlingMode( valueHandlingMode );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -228,8 +228,11 @@ public SqmCriteriaNodeBuilder(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCriteriaValueHandlingMode(ValueHandlingMode criteriaValueHandlingMode) {
|
@Override
|
||||||
|
public ValueHandlingMode setCriteriaValueHandlingMode(ValueHandlingMode criteriaValueHandlingMode) {
|
||||||
|
ValueHandlingMode current = this.criteriaValueHandlingMode;
|
||||||
this.criteriaValueHandlingMode = criteriaValueHandlingMode;
|
this.criteriaValueHandlingMode = criteriaValueHandlingMode;
|
||||||
|
return current;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user