Class JpqlQueryBuilder
java.lang.Object
org.springframework.data.jpa.repository.query.JpqlQueryBuilder
A Domain-Specific Language to build JPQL queries using Java code.
- Since:
- 4.0
- Author:
- Mark Paluch, Choi Wang Gyu
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAbstract base class for JPQL queries.static interfaceAliased expression.static final classThe root entity.static interfaceInterface specifying an expression that can be rendered toString.static final classA joined entity or element collection.static interfaceAn origin that is used to select data from. selection origins are used with paths to define where a path is anchored.static final recordValue object capturing parameter placeholder.static interfaceExtension toJpqlQueryBuilder.Expressionthat contains aPropertyPath.static interfaceWHEREpredicate.static interfaceInterface specifying a predicate or expression that can be rendered toString.static classContext used during rendering.static classSELECTstatement.static interfacestatic interfaceFluent interface to build aJpqlQueryBuilder.Select.static interfaceFluent interface to build aJpqlQueryBuilder.Predicate. -
Method Summary
Modifier and TypeMethodDescriptionstatic @Nullable JpqlQueryBuilder.Predicateand(List<JpqlQueryBuilder.Predicate> intermediate) static JpqlQueryBuilder.Entityentity(JpaEntityMetadata<?> from) Create anJpqlQueryBuilder.Entityfrom the givenJpaEntityMetadata.static JpqlQueryBuilder.Expressionexpression(String expression) Create a simple expression from a string as-is.static JpqlQueryBuilder.Expressionexpression(JpqlQueryBuilder.Origin source, org.springframework.data.core.PropertyPath path) Create a qualified expression for aPropertyPath.static JpqlQueryBuilder.Expressionfunction(String function, JpqlQueryBuilder.Expression... arguments) Invoke a function with the givenarguments.static JpqlQueryBuilder.JoininnerJoin(JpqlQueryBuilder.Origin origin, String path) Create aINNER JOIN.static JpqlQueryBuilder.JoinleftJoin(JpqlQueryBuilder.Origin origin, String path) Create aLEFT JOIN.static JpqlQueryBuilder.ExpressionCreate a simple numeric literal.static JpqlQueryBuilder.ExpressionCreate a simple literal from a string by quoting it.static JpqlQueryBuilder.Predicatenested(JpqlQueryBuilder.Predicate predicate) Nest the givenJpqlQueryBuilder.Predicate.static @Nullable JpqlQueryBuilder.Predicateor(List<JpqlQueryBuilder.Predicate> intermediate) static JpqlQueryBuilder.ExpressionorderBy(JpqlQueryBuilder.Expression sortExpression) Create a new ordering expression.static JpqlQueryBuilder.ExpressionorderBy(JpqlQueryBuilder.Expression sortExpression, Sort.Direction direction) Create a new ordering expression.static JpqlQueryBuilder.ExpressionorderBy(JpqlQueryBuilder.Expression sortExpression, Sort.Order order) Create a new ordering expression.static JpqlQueryBuilder.ExpressionA parameter placeholder.static JpqlQueryBuilder.Expressionparameter(JpqlQueryBuilder.ParameterPlaceholder placeholder) A parameter placeholder.static JpqlQueryBuilder.SelectStepStart building aJpqlQueryBuilder.Selectstatement by selectingfrom.static JpqlQueryBuilder.WhereStepStart building aWHERE predicateby providing the right-hand side.static JpqlQueryBuilder.WhereStepwhere(JpqlQueryBuilder.Origin source, org.springframework.data.core.PropertyPath path) Start building aWHERE predicateby providing the right-hand side.
-
Method Details
-
entity
Create anJpqlQueryBuilder.Entityfrom the givenJpaEntityMetadata.- Parameters:
from- the entity type to select from.- Returns:
-
innerJoin
Create aINNER JOIN.- Parameters:
origin- the selection origin (a join or the entity itself) to select from.path-- Returns:
-
leftJoin
Create aLEFT JOIN.- Parameters:
origin- the selection origin (a join or the entity itself) to select from.path-- Returns:
-
selectFrom
Start building aJpqlQueryBuilder.Selectstatement by selectingfrom.- Parameters:
from- the entity source to select from.- Returns:
- a new select builder.
-
function
public static JpqlQueryBuilder.Expression function(String function, JpqlQueryBuilder.Expression... arguments) Invoke a function with the givenarguments.- Parameters:
function- function name.arguments- function arguments.- Returns:
- an expression representing a function call.
-
nested
Nest the givenJpqlQueryBuilder.Predicate.- Parameters:
predicate-- Returns:
-
expression
public static JpqlQueryBuilder.Expression expression(JpqlQueryBuilder.Origin source, org.springframework.data.core.PropertyPath path) Create a qualified expression for aPropertyPath.- Parameters:
source-path-- Returns:
-
expression
Create a simple expression from a string as-is.- Parameters:
expression-- Returns:
-
literal
Create a simple numeric literal.- Parameters:
literal-- Returns:
-
literal
Create a simple literal from a string by quoting it.- Parameters:
literal-- Returns:
-
parameter
A parameter placeholder.- Parameters:
parameter-- Returns:
-
parameter
public static JpqlQueryBuilder.Expression parameter(JpqlQueryBuilder.ParameterPlaceholder placeholder) A parameter placeholder.- Parameters:
placeholder- the placeholder to use.- Returns:
-
orderBy
Create a new ordering expression.- Parameters:
sortExpression-- Returns:
- Since:
- 4.0
-
orderBy
public static JpqlQueryBuilder.Expression orderBy(JpqlQueryBuilder.Expression sortExpression, Sort.Order order) Create a new ordering expression.- Parameters:
sortExpression-order-- Returns:
-
orderBy
public static JpqlQueryBuilder.Expression orderBy(JpqlQueryBuilder.Expression sortExpression, Sort.Direction direction) Create a new ordering expression.- Parameters:
sortExpression-direction-- Returns:
- Since:
- 4.0
-
where
public static JpqlQueryBuilder.WhereStep where(JpqlQueryBuilder.Origin source, org.springframework.data.core.PropertyPath path) Start building aWHERE predicateby providing the right-hand side.- Parameters:
source-path-- Returns:
-
where
Start building aWHERE predicateby providing the right-hand side.- Parameters:
rhs-- Returns:
-
and
public static @Nullable JpqlQueryBuilder.Predicate and(List<JpqlQueryBuilder.Predicate> intermediate) -
or
public static @Nullable JpqlQueryBuilder.Predicate or(List<JpqlQueryBuilder.Predicate> intermediate)
-