public class DefaultQueryEnhancer extends Object implements QueryEnhancer
QueryEnhancer
using QueryUtils
.Constructor and Description |
---|
DefaultQueryEnhancer(org.springframework.data.jpa.repository.query.DeclaredQuery query) |
Modifier and Type | Method and Description |
---|---|
String |
applySorting(org.springframework.data.domain.Sort sort,
String alias)
Adds order by clause to the JPQL query.
|
String |
createCountQueryFor(String countProjection)
Creates a count projected query from the given original query using the provided
countProjection . |
String |
detectAlias()
Resolves the alias for the entity to be retrieved from the given JPA query.
|
Set<String> |
getJoinAliases() |
String |
getProjection()
Returns the projection part of the query, i.e. everything between
select and from . |
org.springframework.data.jpa.repository.query.DeclaredQuery |
getQuery()
Gets the query we want to use for enhancements.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
applySorting, createCountQueryFor, hasConstructorExpression
public DefaultQueryEnhancer(org.springframework.data.jpa.repository.query.DeclaredQuery query)
public String applySorting(org.springframework.data.domain.Sort sort, @Nullable String alias)
QueryEnhancer
applySorting
in interface QueryEnhancer
sort
- the sort specification to apply.alias
- the alias to be used in the order by clause. May be null or empty.public String detectAlias()
QueryEnhancer
detectAlias
in interface QueryEnhancer
public String createCountQueryFor(@Nullable String countProjection)
QueryEnhancer
countProjection
.createCountQueryFor
in interface QueryEnhancer
countProjection
- may be null.public String getProjection()
QueryEnhancer
select
and from
.getProjection
in interface QueryEnhancer
public Set<String> getJoinAliases()
getJoinAliases
in interface QueryEnhancer
public org.springframework.data.jpa.repository.query.DeclaredQuery getQuery()
QueryEnhancer
getQuery
in interface QueryEnhancer
DeclaredQuery
that wraps the queryCopyright © 2011–2023 Pivotal Software, Inc.. All rights reserved.