Package com.blazebit.persistence
Interface FullQueryBuilder<T,X extends FullQueryBuilder<T,X>>
- Type Parameters:
T
- The query result typeX
- The concrete builder type
- All Superinterfaces:
BaseQueryBuilder<T,X>
,BaseWhereBuilder<X>
,CommonQueryBuilder<X>
,ConfigurationSource
,CorrelationQueryBuilder<X>
,FetchBuilder<X>
,FromBaseBuilder<X>
,FromBuilder<X>
,FromProvider
,KeysetQueryBuilder<X>
,OrderByBuilder<X>
,ParameterHolder<X>
,Queryable<T,X>
,QueryBuilder<T,X>
,SelectBuilder<X>
,ServiceProvider
,WhereBuilder<X>
,WindowContainerBuilder<X>
- All Known Subinterfaces:
CriteriaBuilder<T>
,PaginatedCriteriaBuilder<T>
public interface FullQueryBuilder<T,X extends FullQueryBuilder<T,X>> extends QueryBuilder<T,X>, FetchBuilder<X>
A base interface for builders that support normal query functionality.
This interface is shared between the criteria builder and paginated criteria builder.
- Since:
- 1.1.0
- Author:
- Christian Beikov
-
Method Summary
Modifier and Type Method Description <Y> FullQueryBuilder<Y,?>
copy(Class<Y> resultClass)
Copies this query builder into a new one, using it's projection as an overridable default.CriteriaBuilder<Object[]>
createPageIdQuery(int firstResult, int maxResults, String identifierExpression)
Like callingpageBy(int, int, String)
and thenPaginatedCriteriaBuilder.createPageIdQuery()
but more efficient.CriteriaBuilder<Object[]>
createPageIdQuery(int firstResult, int maxResults, String identifierExpression, String... identifierExpressions)
Like callingpageBy(int, int, String, String...)
and thenPaginatedCriteriaBuilder.createPageIdQuery()
but more efficient.CriteriaBuilder<Object[]>
createPageIdQuery(KeysetPage keysetPage, int firstResult, int maxResults, String identifierExpression)
Like callingpageBy(KeysetPage, int, int, String)
and thenPaginatedCriteriaBuilder.createPageIdQuery()
but more efficient.CriteriaBuilder<Object[]>
createPageIdQuery(KeysetPage keysetPage, int firstResult, int maxResults, String identifierExpression, String... identifierExpressions)
Like callingpageBy(KeysetPage, int, int, String, String...)
and thenPaginatedCriteriaBuilder.createPageIdQuery()
but more efficient.javax.persistence.TypedQuery<Long>
getCountQuery()
Returns a query that counts the results that would be produced if the current query was run.javax.persistence.TypedQuery<Long>
getCountQuery(long maximumCount)
Returns a query that counts the results and counts up to the maximum value that is given that would be produced if the current query was run.String
getCountQueryString()
Returns the query string that selects the count of elements.String
getCountQueryString(long maximumCount)
Returns the query string that selects the count of elements and counts up to the maximum value that is given.X
innerJoinFetch(String path, String alias)
Likejoin(java.lang.String, java.lang.String, com.blazebit.persistence.JoinType, boolean)
but withJoinType.INNER
and fetch set to true.X
innerJoinFetchDefault(String path, String alias)
LikejoinDefault(java.lang.String, java.lang.String, com.blazebit.persistence.JoinType, boolean)
but withJoinType.INNER
and fetch set to true.X
join(String path, String alias, JoinType type, boolean fetch)
Adds a join to the query, possibly specializing implicit joins, and giving the joined element an alias.X
joinDefault(String path, String alias, JoinType type, boolean fetch)
Adds a join to the query, possibly specializing implicit joins, and giving the joined element an alias.X
leftJoinFetch(String path, String alias)
Likejoin(java.lang.String, java.lang.String, com.blazebit.persistence.JoinType, boolean)
but withJoinType.LEFT
and fetch set to true.X
leftJoinFetchDefault(String path, String alias)
LikejoinDefault(java.lang.String, java.lang.String, com.blazebit.persistence.JoinType, boolean)
but withJoinType.LEFT
and fetch set to true.PaginatedCriteriaBuilder<T>
page(int firstResult, int maxResults)
InvokespageBy(int, int, String, String...)
with the identifiers of the query root entity.PaginatedCriteriaBuilder<T>
page(KeysetPage keysetPage, int firstResult, int maxResults)
InvokespageBy(KeysetPage, int, int, String, String...)
with the identifiers of the query root entity.PaginatedCriteriaBuilder<T>
page(Object entityId, int maxResults)
Deprecated.This method causes a method resolution ambiguity.PaginatedCriteriaBuilder<T>
pageAndNavigate(Object entityId, int maxResults)
InvokespageByAndNavigate(Object, int, String, String...)
with the identifiers of the query root entity.PaginatedCriteriaBuilder<T>
pageBy(int firstResult, int maxResults, String identifierExpression)
LikepageBy(int, int, String, String...)
but lacks the varargs parameter to avoid heap pollution.PaginatedCriteriaBuilder<T>
pageBy(int firstResult, int maxResults, String identifierExpression, String... identifierExpressions)
Paginates the results of this query based on the given identifier expressions.PaginatedCriteriaBuilder<T>
pageBy(KeysetPage keysetPage, int firstResult, int maxResults, String identifierExpression)
LikepageBy(KeysetPage, int, int, String, String...)
but lacks the varargs parameter to avoid heap pollution.PaginatedCriteriaBuilder<T>
pageBy(KeysetPage keysetPage, int firstResult, int maxResults, String identifierExpression, String... identifierExpressions)
Likepage(int, int)
but additionally uses key set pagination when possible.PaginatedCriteriaBuilder<T>
pageByAndNavigate(Object entityId, int maxResults, String identifierExpression)
LikepageByAndNavigate(Object, int, String, String...)
but lacks the varargs parameter to avoid heap pollution.PaginatedCriteriaBuilder<T>
pageByAndNavigate(Object entityId, int maxResults, String identifierExpression, String... identifierExpressions)
Paginates the results of this query and navigates to the page on which the object with the given identifier is located.X
rightJoinFetch(String path, String alias)
Likejoin(java.lang.String, java.lang.String, com.blazebit.persistence.JoinType, boolean)
but withJoinType.RIGHT
and fetch set to true.X
rightJoinFetchDefault(String path, String alias)
LikejoinDefault(java.lang.String, java.lang.String, com.blazebit.persistence.JoinType, boolean)
but withJoinType.RIGHT
and fetch set to true.<Y> FullQueryBuilder<Y,?>
selectNew(ObjectBuilder<Y> builder)
Applies the given object builder to this query.<Y> SelectObjectBuilder<? extends FullQueryBuilder<Y,?>>
selectNew(Class<Y> clazz)
Starts aSelectObjectBuilder
for the given class.<Y> SelectObjectBuilder<? extends FullQueryBuilder<Y,?>>
selectNew(Constructor<Y> constructor)
Starts aSelectObjectBuilder
for the given constructor.Methods inherited from interface com.blazebit.persistence.BaseWhereBuilder
where, whereCase, whereExists, whereExists, whereExpression, whereExpressionSubqueries, whereNotExists, whereNotExists, whereSimpleCase, whereSubqueries, whereSubquery, whereSubquery, whereSubquery, whereSubquery
Methods inherited from interface com.blazebit.persistence.CommonQueryBuilder
getCriteriaBuilderFactory, getMetamodel, isCacheable, registerMacro, setCacheable, setProperties, setProperty
Methods inherited from interface com.blazebit.persistence.spi.ConfigurationSource
getProperties, getProperty
Methods inherited from interface com.blazebit.persistence.FromBaseBuilder
fromEntitySubquery, fromEntitySubquery, fromEntitySubquery, fromSubquery, fromSubquery
Methods inherited from interface com.blazebit.persistence.FromBuilder
from, from, from, from, fromIdentifiableValues, fromIdentifiableValues, fromIdentifiableValues, fromIdentifiableValues, fromNew, fromNew, fromOld, fromOld, fromValues, fromValues, fromValues, fromValues, getFrom, getFromByPath, getPath, getRoots, innerJoin, innerJoinDefault, innerJoinDefaultOn, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnEntitySubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralOnSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinLateralSubquery, innerJoinOn, innerJoinOn, innerJoinOn, innerJoinOn, innerJoinOn, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnEntitySubquery, innerJoinOnSubquery, innerJoinOnSubquery, innerJoinOnSubquery, innerJoinOnSubquery, join, joinDefault, joinDefaultOn, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnEntitySubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralOnSubquery, joinLateralSubquery, joinLateralSubquery, joinLateralSubquery, joinLateralSubquery, joinLateralSubquery, joinOn, joinOn, joinOn, joinOn, joinOn, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnEntitySubquery, joinOnSubquery, joinOnSubquery, joinOnSubquery, joinOnSubquery, leftJoin, leftJoinDefault, leftJoinDefaultOn, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnEntitySubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralOnSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinLateralSubquery, leftJoinOn, leftJoinOn, leftJoinOn, leftJoinOn, leftJoinOn, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnEntitySubquery, leftJoinOnSubquery, leftJoinOnSubquery, leftJoinOnSubquery, leftJoinOnSubquery, rightJoin, rightJoinDefault, rightJoinDefaultOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOn, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnEntitySubquery, rightJoinOnSubquery, rightJoinOnSubquery, rightJoinOnSubquery, rightJoinOnSubquery
Methods inherited from interface com.blazebit.persistence.KeysetQueryBuilder
afterKeyset, afterKeyset, afterKeyset, beforeKeyset, beforeKeyset, beforeKeyset
Methods inherited from interface com.blazebit.persistence.OrderByBuilder
orderBy, orderBy, orderByAsc, orderByAsc, orderByDesc, orderByDesc
Methods inherited from interface com.blazebit.persistence.ParameterHolder
containsParameter, getParameter, getParameters, getParameterValue, isParameterSet, setParameter, setParameter, setParameter, setParameterType
Methods inherited from interface com.blazebit.persistence.Queryable
getQuery, getQueryString, getResultList, getSingleResult
Methods inherited from interface com.blazebit.persistence.SelectBuilder
select, select, selectCase, selectCase, selectSimpleCase, selectSimpleCase, selectSubqueries, selectSubqueries, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery, selectSubquery
Methods inherited from interface com.blazebit.persistence.WhereBuilder
setWhereExpression, setWhereExpressionSubqueries, whereOr
-
Method Details
-
copy
Copies this query builder into a new one, using it's projection as an overridable default.- Type Parameters:
Y
- The type of the result class- Parameters:
resultClass
- The result class of the query- Returns:
- A new query builder
- Since:
- 1.2.0
-
getCountQuery
javax.persistence.TypedQuery<Long> getCountQuery()Returns a query that counts the results that would be produced if the current query was run.- Returns:
- A query for determining the count of the result list represented by this query builder
- Since:
- 1.2.0
-
getCountQueryString
String getCountQueryString()Returns the query string that selects the count of elements.- Returns:
- The query string
- Since:
- 1.3.0
-
getCountQuery
Returns a query that counts the results and counts up to the maximum value that is given that would be produced if the current query was run.- Parameters:
maximumCount
- the maximum value up to which should be counted- Returns:
- A query for determining the count of the result list represented by this query builder
- Since:
- 1.5.0
-
getCountQueryString
Returns the query string that selects the count of elements and counts up to the maximum value that is given.- Parameters:
maximumCount
- the maximum value up to which should be counted- Returns:
- The query string
- Since:
- 1.5.0
-
page
InvokespageBy(int, int, String, String...)
with the identifiers of the query root entity.- Parameters:
firstResult
- The position of the first result to retrieve, numbered from 0maxResults
- The maximum number of results to retrieve- Returns:
- This query builder as paginated query builder
-
page
Deprecated.This method causes a method resolution ambiguity. Use {pageAndNavigate(Object, int)
} instead.InvokespageByAndNavigate(Object, int, String, String...)
with the identifiers of the query root entity.- Parameters:
entityId
- The id of the entity which should be located on the pagemaxResults
- The maximum number of results to retrieve- Returns:
- This query builder as paginated query builder
-
pageAndNavigate
InvokespageByAndNavigate(Object, int, String, String...)
with the identifiers of the query root entity.- Parameters:
entityId
- The id of the entity which should be located on the pagemaxResults
- The maximum number of results to retrieve- Returns:
- This query builder as paginated query builder
- Since:
- 1.3.0
-
page
InvokespageBy(KeysetPage, int, int, String, String...)
with the identifiers of the query root entity.- Parameters:
keysetPage
- The key set from a previous result, may be nullfirstResult
- The position of the first result to retrieve, numbered from 0maxResults
- The maximum number of results to retrieve- Returns:
- This query builder as paginated query builder
- See Also:
PagedList.getKeysetPage()
-
pageBy
LikepageBy(int, int, String, String...)
but lacks the varargs parameter to avoid heap pollution.- Parameters:
firstResult
- The position of the first result to retrieve, numbered from 0maxResults
- The maximum number of results to retrieveidentifierExpression
- The first identifier expression- Returns:
- This query builder as paginated query builder
- Since:
- 1.3.0
-
pageByAndNavigate
PaginatedCriteriaBuilder<T> pageByAndNavigate(Object entityId, int maxResults, String identifierExpression)LikepageByAndNavigate(Object, int, String, String...)
but lacks the varargs parameter to avoid heap pollution.- Parameters:
entityId
- The id of the entity which should be located on the pagemaxResults
- The maximum number of results to retrieveidentifierExpression
- The first identifier expression- Returns:
- This query builder as paginated query builder
- Since:
- 1.3.0
-
pageBy
PaginatedCriteriaBuilder<T> pageBy(KeysetPage keysetPage, int firstResult, int maxResults, String identifierExpression)LikepageBy(KeysetPage, int, int, String, String...)
but lacks the varargs parameter to avoid heap pollution.- Parameters:
keysetPage
- The key set from a previous result, may be nullfirstResult
- The position of the first result to retrieve, numbered from 0maxResults
- The maximum number of results to retrieveidentifierExpression
- The first identifier expression- Returns:
- This query builder as paginated query builder
- Since:
- 1.3.0
- See Also:
PagedList.getKeysetPage()
-
pageBy
PaginatedCriteriaBuilder<T> pageBy(int firstResult, int maxResults, String identifierExpression, String... identifierExpressions)Paginates the results of this query based on the given identifier expressions. In JPA, the use ofsetFirstResult
andsetMaxResults
is not defined when involving fetch joins for collections. When no collection joins are involved, this is fine as rows essentially represent objects, but when collections are joined, this is no longer true. JPA providers usually fall back to querying all data and doing pagination in-memory based on objects or simply don't support that kind of query. This API allows to specify the identifier expressions to use for pagination and transparently handles collection join support. The big advantage of this API over plainsetFirstResult
andsetMaxResults
can also be seen when doing scalar queries.An example for such queries would be a query that joins a collection:
SELECT d.id, contacts.name FROM Document d LEFT JOIN d.contacts contacts
If oneDocument
has associated multiple contacts, the above query will produce multiple result set rows for that document. Paginating viasetFirstResult
andsetMaxResults
would produce unexpected results whereas using this API, will produce the expected results.When paginating on the identifier i.e.
d.id
, the results are implicitly grouped by the document id and distinct. Therefore calling distinct() on a PaginatedCriteriaBuilder is not allowed.- Parameters:
firstResult
- The position of the first result to retrieve, numbered from 0maxResults
- The maximum number of results to retrieveidentifierExpression
- The first identifier expressionidentifierExpressions
- The other identifier expressions- Returns:
- This query builder as paginated query builder
- Since:
- 1.3.0
-
pageByAndNavigate
PaginatedCriteriaBuilder<T> pageByAndNavigate(Object entityId, int maxResults, String identifierExpression, String... identifierExpressions)Paginates the results of this query and navigates to the page on which the object with the given identifier is located. Beware that the same limitations like forpage(int, int)
apply. If the object with the given identifier does not exist in the result list:- The result of
PaginatedCriteriaBuilder.getResultList()
will contain the first page PagedList.getFirstResult()
will return-1
- Parameters:
entityId
- The id of the object which should be located on the pagemaxResults
- The maximum number of results to retrieveidentifierExpression
- The first identifier expressionidentifierExpressions
- The other identifier expressions- Returns:
- This query builder as paginated query builder
- Since:
- 1.3.0
- The result of
-
pageBy
PaginatedCriteriaBuilder<T> pageBy(KeysetPage keysetPage, int firstResult, int maxResults, String identifierExpression, String... identifierExpressions)Likepage(int, int)
but additionally uses key set pagination when possible. Beware that keyset pagination should not be used as a direct replacement for offset pagination. Since entries that have a lower rank than some keyset might be added or removed, the calculations for the firstResult might be wrong. If strict pagination is required, then theKeysetPage
should not be used when the count of lower ranked items changes which will result in the use of offset pagination for that request.Key set pagination is possible if and only if the following conditions are met:
- The keyset reference values fit the order by expressions of this query builder AND
KeysetPage.getMaxResults()
andmaxResults
evaluate to the same value AND- One of the following conditions is met:
- The absolute value of
KeysetPage.getFirstResult()
- firstResult
is 0 - The absolute value of
KeysetPage.getFirstResult()
- firstResult
is equal to the value ofmaxResults
- The absolute value of
- Parameters:
keysetPage
- The key set from a previous result, may be nullfirstResult
- The position of the first result to retrieve, numbered from 0maxResults
- The maximum number of results to retrieveidentifierExpression
- The first identifier expressionidentifierExpressions
- The other identifier expressions- Returns:
- This query builder as paginated query builder
- Since:
- 1.3.0
- See Also:
PagedList.getKeysetPage()
-
createPageIdQuery
CriteriaBuilder<Object[]> createPageIdQuery(int firstResult, int maxResults, String identifierExpression)Like callingpageBy(int, int, String)
and thenPaginatedCriteriaBuilder.createPageIdQuery()
but more efficient.- Parameters:
firstResult
- The position of the first result to retrieve, numbered from 0maxResults
- The maximum number of results to retrieveidentifierExpression
- The first identifier expression- Returns:
- the
CriteriaBuilder
to query id values - Since:
- 1.4.1
-
createPageIdQuery
CriteriaBuilder<Object[]> createPageIdQuery(KeysetPage keysetPage, int firstResult, int maxResults, String identifierExpression)Like callingpageBy(KeysetPage, int, int, String)
and thenPaginatedCriteriaBuilder.createPageIdQuery()
but more efficient.- Parameters:
keysetPage
- The key set from a previous result, may be nullfirstResult
- The position of the first result to retrieve, numbered from 0maxResults
- The maximum number of results to retrieveidentifierExpression
- The first identifier expression- Returns:
- the
CriteriaBuilder
to query id values - Since:
- 1.4.1
-
createPageIdQuery
CriteriaBuilder<Object[]> createPageIdQuery(int firstResult, int maxResults, String identifierExpression, String... identifierExpressions)Like callingpageBy(int, int, String, String...)
and thenPaginatedCriteriaBuilder.createPageIdQuery()
but more efficient.- Parameters:
firstResult
- The position of the first result to retrieve, numbered from 0maxResults
- The maximum number of results to retrieveidentifierExpression
- The first identifier expressionidentifierExpressions
- The other identifier expressions- Returns:
- the
CriteriaBuilder
to query id values - Since:
- 1.4.1
-
createPageIdQuery
CriteriaBuilder<Object[]> createPageIdQuery(KeysetPage keysetPage, int firstResult, int maxResults, String identifierExpression, String... identifierExpressions)Like callingpageBy(KeysetPage, int, int, String, String...)
and thenPaginatedCriteriaBuilder.createPageIdQuery()
but more efficient.- Parameters:
keysetPage
- The key set from a previous result, may be nullfirstResult
- The position of the first result to retrieve, numbered from 0maxResults
- The maximum number of results to retrieveidentifierExpression
- The first identifier expressionidentifierExpressions
- The other identifier expressions- Returns:
- the
CriteriaBuilder
to query id values - Since:
- 1.4.1
-
join
Adds a join to the query, possibly specializing implicit joins, and giving the joined element an alias. If fetch is set to true, a join fetch will be added.- Parameters:
path
- The path to joinalias
- The alias for the joined elementtype
- The join typefetch
- True if a join fetch should be added- Returns:
- The query builder for chaining calls
-
joinDefault
Adds a join to the query, possibly specializing implicit joins, and giving the joined element an alias. The resulting join will be the default join meaning that expressions which use the absolute path will refer to this join. If fetch is set to true, a join fetch will be added.- Parameters:
path
- The path to joinalias
- The alias for the joined elementtype
- The join typefetch
- True if a join fetch should be added- Returns:
- The query builder for chaining calls
-
innerJoinFetch
Likejoin(java.lang.String, java.lang.String, com.blazebit.persistence.JoinType, boolean)
but withJoinType.INNER
and fetch set to true.- Parameters:
path
- The path to joinalias
- The alias for the joined element- Returns:
- The query builder for chaining calls
-
innerJoinFetchDefault
LikejoinDefault(java.lang.String, java.lang.String, com.blazebit.persistence.JoinType, boolean)
but withJoinType.INNER
and fetch set to true.- Parameters:
path
- The path to joinalias
- The alias for the joined element- Returns:
- The query builder for chaining calls
-
leftJoinFetch
Likejoin(java.lang.String, java.lang.String, com.blazebit.persistence.JoinType, boolean)
but withJoinType.LEFT
and fetch set to true.- Parameters:
path
- The path to joinalias
- The alias for the joined element- Returns:
- The query builder for chaining calls
-
leftJoinFetchDefault
LikejoinDefault(java.lang.String, java.lang.String, com.blazebit.persistence.JoinType, boolean)
but withJoinType.LEFT
and fetch set to true.- Parameters:
path
- The path to joinalias
- The alias for the joined element- Returns:
- The query builder for chaining calls
-
rightJoinFetch
Likejoin(java.lang.String, java.lang.String, com.blazebit.persistence.JoinType, boolean)
but withJoinType.RIGHT
and fetch set to true.- Parameters:
path
- The path to joinalias
- The alias for the joined element- Returns:
- The query builder for chaining calls
-
rightJoinFetchDefault
LikejoinDefault(java.lang.String, java.lang.String, com.blazebit.persistence.JoinType, boolean)
but withJoinType.RIGHT
and fetch set to true.- Parameters:
path
- The path to joinalias
- The alias for the joined element- Returns:
- The query builder for chaining calls
-
selectNew
Starts aSelectObjectBuilder
for the given class. The types of the parameter arguments used in theSelectObjectBuilder
must match a constructor of the given class.- Type Parameters:
Y
- The new query result type specified by the given class- Parameters:
clazz
- The class which should be used for the select new select clause- Returns:
- The select object builder for the given class
-
selectNew
Starts aSelectObjectBuilder
for the given constructor. The types of the parameter arguments used in theSelectObjectBuilder
must match the given constructor.- Type Parameters:
Y
- The new query result type specified by the given class- Parameters:
constructor
- The constructor which should be used for the select new select clause- Returns:
- The select object builder for the given class
-
selectNew
Applies the given object builder to this query. The object builder provides the select clauses and is used to transform the result set tuples.- Type Parameters:
Y
- The new query result type specified by the given class- Parameters:
builder
- The object builder which transforms the result set into objects of typeY
- Returns:
- The query builder for chaining calls
-