Class PathQueryBuilderImpl<T>
java.lang.Object
ch.tocco.nice2.persist.core.impl.hibernate.query.QueryBuilderBaseImpl<PathQueryBuilder<T>,CriteriaQueryWrapper<T>>
ch.tocco.nice2.persist.core.impl.hibernate.query.AbstractCriteriaBuilder<PathQueryBuilder<T>,Object[],CriteriaQueryWrapper<T>>
ch.tocco.nice2.persist.core.impl.hibernate.query.CriteriaQueryBuilderImpl<PathQueryBuilder<T>,T,CriteriaQueryWrapper<T>>
ch.tocco.nice2.persist.core.impl.hibernate.query.AbstractPathQueryBuilder<PathQueryBuilder<T>,T,CriteriaQueryWrapper<T>>
ch.tocco.nice2.persist.core.impl.hibernate.query.PathQueryBuilderImpl<T>
- All Implemented Interfaces:
CriteriaQueryBuilder<PathQueryBuilder<T>,
,T, CriteriaQueryWrapper<T>> PathQueryBuilder<T>
,QueryBuilderBase<PathQueryBuilder<T>,
CriteriaQueryWrapper<T>>
public class PathQueryBuilderImpl<T>
extends AbstractPathQueryBuilder<PathQueryBuilder<T>,T,CriteriaQueryWrapper<T>>
implements PathQueryBuilder<T>
Query builder that returns a custom selection in an
Object
[] as result.
Multiple paths can be selected using addPathToSelection(String...)
.-
Nested Class Summary
Nested classes/interfaces inherited from class ch.tocco.nice2.persist.core.impl.hibernate.query.AbstractPathQueryBuilder
AbstractPathQueryBuilder.CustomSelectionCriteriaQueryWrapper
Nested classes/interfaces inherited from class ch.tocco.nice2.persist.core.impl.hibernate.query.CriteriaQueryBuilderImpl
CriteriaQueryBuilderImpl.AbstractCriteriaQueryWrapper
-
Field Summary
Fields inherited from class ch.tocco.nice2.persist.core.impl.hibernate.query.AbstractPathQueryBuilder
customSelection
Fields inherited from class ch.tocco.nice2.persist.core.impl.hibernate.query.CriteriaQueryBuilderImpl
ARRAY_EQUIVALENCE
Fields inherited from class ch.tocco.nice2.persist.core.impl.hibernate.query.AbstractCriteriaBuilder
criteriaBuilder, jdbcFunctions, parameterProviders, parameters, predicateFactory, query, queryRoot, session, subqueryFactory
Fields inherited from class ch.tocco.nice2.persist.core.impl.hibernate.query.QueryBuilderBaseImpl
collector, conditionFactory, dataModel, fieldResolver, insecureEnabled, interceptors, predicates, queryHints, typeManager
-
Constructor Summary
ConstructorDescriptionPathQueryBuilderImpl
(BinaryDataAccessor binaryDataAccessor, org.hibernate.Session session, Class<? extends Entity> entityClass, List<QueryBuilderInterceptor> interceptors, TypeManager typeManager, DataModel dataModel, ConditionFactory conditionFactory, FieldResolver fieldResolver, Map<String, JdbcFunction> jdbcFunctions, Map<String, ParameterProvider<?>> parameterProviders, Map<String, ?> queryHints, ResultRowMapper<T> resultRowMapper, InsecureOrderPathsRegistry insecureOrderPathsRegistry) -
Method Summary
Modifier and TypeMethodDescriptionaddPathToSelection
(String... path) protected CriteriaQueryWrapper
<T> doBuild()
protected PathQueryBuilderImpl
<T> self()
setToManyPathResultLimit
(int limit) To-Many paths are resolved with their own query and then merged with the main result set.Methods inherited from class ch.tocco.nice2.persist.core.impl.hibernate.query.AbstractPathQueryBuilder
clearSelection
Methods inherited from class ch.tocco.nice2.persist.core.impl.hibernate.query.CriteriaQueryBuilderImpl
addOrder, addOrder, applyConfiguration, getPermission, setLimit, setOffset
Methods inherited from class ch.tocco.nice2.persist.core.impl.hibernate.query.AbstractCriteriaBuilder
addParameter, applyParametersToQuery, createQuery, getCriteriaBuilder, getPredicateFactory, getQueryDistinctStrategy, getQueryRoot, getSubqueryFactory, logNewQueryError
Methods inherited from class ch.tocco.nice2.persist.core.impl.hibernate.query.QueryBuilderBaseImpl
build, doInsecure, getPredicates, initializationCompleted, where, where, where, where, whereInsecure, whereInsecure, whereInsecure
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface ch.tocco.nice2.persist.core.api.hibernate.query.builder.CriteriaQueryBuilder
addOrder, addOrder, applyConfiguration, getQueryRoot, setLimit, setOffset
Methods inherited from interface ch.tocco.nice2.persist.core.api.hibernate.query.builder.QueryBuilderBase
addParameter, build, getCriteriaBuilder, getPredicates, getSubqueryFactory, where, where, where, where, whereInsecure, whereInsecure, whereInsecure
-
Constructor Details
-
PathQueryBuilderImpl
public PathQueryBuilderImpl(BinaryDataAccessor binaryDataAccessor, org.hibernate.Session session, Class<? extends Entity> entityClass, List<QueryBuilderInterceptor> interceptors, TypeManager typeManager, DataModel dataModel, ConditionFactory conditionFactory, FieldResolver fieldResolver, Map<String, JdbcFunction> jdbcFunctions, Map<String, ParameterProvider<?>> parameterProviders, Map<String, ?> queryHints, ResultRowMapper<T> resultRowMapper, InsecureOrderPathsRegistry insecureOrderPathsRegistry)
-
-
Method Details
-
addPathToSelection
- Specified by:
addPathToSelection
in interfacePathQueryBuilder<T>
-
setToManyPathResultLimit
Description copied from interface:PathQueryBuilder
To-Many paths are resolved with their own query and then merged with the main result set. By default, the size of the list of a to-many relation is unlimited. To limit the list (e.g. to prevent OOMs in some use cases), you can set a limit via this setter. If the limit is exceeded, aToManyPathQueryResultOverflowException
is thrown.- Specified by:
setToManyPathResultLimit
in interfacePathQueryBuilder<T>
-
doBuild
- Specified by:
doBuild
in classQueryBuilderBaseImpl<PathQueryBuilder<T>,
CriteriaQueryWrapper<T>>
-
self
- Specified by:
self
in classQueryBuilderBaseImpl<PathQueryBuilder<T>,
CriteriaQueryWrapper<T>>
-