Package io.micronaut.data.model.query
Interface QueryModel
- All Superinterfaces:
Criteria
- All Known Implementing Classes:
AssociationQuery,DefaultQuery
Main interface for constructing queries at either compilation or runtime.
- Since:
- 1.0
- Author:
- graemerocher
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classCriterion used to restrict the results based on belonging to an array.static classComputes the average value of a property.static classCriterion used to restrict the result to be between values (range query).static classA Criterion used to combine to criterion in a logical AND.static classCriterion used to restrict the results based on a result containing the given value.static classProjection to count distinct property name.static classProjection to count distinct entity will do count distinct against identity or composite identity.static classUsed to count the results of a query.static interfaceRepresents a criterion to be used in a criteria query.static classA Criterion used to combine to criterion in a logical OR.static classDistinct result projection.static classCriterion used to restrict the results based on starting with a given value.static classA criterion that restricts the results based on equality.static classRestricts a value to be equal to all the given values.static classA criterion for one property equaling another.static classUsed for exists subquery.static classUsed to restrict a value to be greater than the given value.static classRestricts a value to be greater than all the given values.static classUsed to restrict a value to be greater than or equal to the given value.static classRestricts a value to be greater than or equal to all the given values.static classA criterion for one property being greater than or equal to another.static classRestricts a value to be greater than some of the given values.static classA criterion for one property being greater than another.static classRestricts a value to be greater than some of the given values.static classGroup by property projection.static classA criterion that restricts the results based on the equality of the identifier.static classA projection used to obtain the identifier of an object.static classCriterion used to restrict the results based on a pattern (likeness).static classCriterion used to restrict the results based on a list of values.static classRestricts a property to be empty (such as a blank string).static classRestricts a property to be false.static classRestricts a property to be empty (such as a blank string).static classRestricts a property to be not null.static classRestricts a property to be null.static classRestricts a property to be true.static classbase class for a junction (AND or OR or NOT).static classUsed to restrict a value to be less than the given value.static classRestricts a value to be less than all the given values.static classUsed to restrict a value to be less than the given value.static classRestricts a value to be less than or equal to all the given values.static classA criterion for one property being less than or equal to another.static classRestricts a value to be less than some of the given values.static classA criterion for one property being less than another.static classRestricts a value to be less than some of the given values.static classCriterion used to restrict the results based on a pattern (likeness).static classA projection of a simple literal.static classComputes the pageSize value of a property.static classComputes the min value of a property.static classA criterion used to negate several other criterion.static classA criterion that restricts the results based on equality.static classRestricts a value to be not equal to all the given values.static classA criterion for one property not equaling another.static classUsed for exists subquery.static classCriterion used to restrict the results based on a list of values.static classA projection.static classA Criterion that compares to properties.static classCriterion that applies to a property and value.static classA Criterion that applies to a property.static classA projection that obtains the value of a property of an entity.static classCriterion used to restrict the results based on a regex pattern.static classCriterion used to restrict the results based on a regular expression pattern.static classA projection used to project the root entity.static classSize equals criterion.static classSize greater than criterion.static classSize greater than equals criterion.static classSize less than criterion.static classSize less than equals criterion.static classSize not equals criterion.static classCriterion used to restrict the results based on starting with a given value.static classUsed to differentiate criterion that require a subquery.static classComputes the sum of a property.static classA criterion that restricts the results based on the equality of the version. -
Method Summary
Modifier and TypeMethodDescription@NonNull QueryModeladd(@NonNull QueryModel.Criterion criterion) Adds the specified criterion instance to the query.@NonNull QueryModelApply an "equals" constraint to each property in the key set of aMap.@NonNull QueryModelCreates a logical conjunction.@NonNull QueryModelRestricts the results by the given property value range (inclusive).@NonNull QueryModelRestricts the property match to strings containing with the given value.@NonNull QueryModelRestricts the property match to strings ending with the given value.@NonNull QueryModelCreates an "equals" Criterion based on the specified property name and value.@NonNull QueryModelCreates a subquery criterion that ensures the given property is equals to all the given returned values.@NonNull QueryModeleqProperty(@NonNull String propertyName, @NonNull String otherPropertyName) Constrains a property to be equal to a specified other property.voidLock the selected entities.static @NonNull QueryModelfrom(@NonNull PersistentEntity entity) Creates a query from the given entity.@NonNull QueryModelUsed to restrict a value to be greater than or equal to the given value.@NonNull QueryModelCreates a subquery criterion that ensures the given property is greater than or equals to all the given returned values.@NonNull QueryModelgeProperty(@NonNull String propertyName, @NonNull String otherPropertyName) Constrains a property to be greater than or equal to a specified other property.@NonNull QueryModelCreates a subquery criterion that ensures the given property is greater than or equal to some of the given values.getJoinPath(String path) Obtain the join type for the given association.intgetMax()Get the pageSize results to return.longGet the offset of the query.@NonNull PersistentEntity@NonNull List<QueryModel.Projection>default SortgetSort()The sort to apply.@NonNull QueryModelUsed to restrict a value to be greater than or equal to the given value.@NonNull QueryModelCreates a subquery criterion that ensures the given property is greater than all the given returned values.@NonNull QueryModelUsed to restrict a value to be greater than or equal to the given value.@NonNull QueryModelgtProperty(@NonNull String propertyName, @NonNull String otherPropertyName) Constrains a property to be greater than a specified other property.@NonNull QueryModelCreates a subquery criterion that ensures the given property is greater than some of the given values.@NonNull QueryModelCreates an "equals" Criterion based on the specified property name and value.@NonNull QueryModelCreates an ilike Criterion based on the specified property name and value.@NonNull QueryModelinList(@NonNull String propertyName, @NonNull QueryModel subquery) Creates an "in" Criterion using a subquery.@NonNull QueryModelCreates an "in" Criterion based on the specified property name and list of values.@NonNull QueryModelCreates a criterion that asserts the given property is empty (such as a blank string).@NonNull QueryModelCreates a criterion that asserts the given property is false.booleanWhether to lock the selected entities.@NonNull QueryModelisNotEmpty(@NonNull String propertyName) Creates a criterion that asserts the given property is not empty.@NonNull QueryModelCreates a criterion that asserts the given property is not null.@NonNull QueryModelCreates a criterion that asserts the given property is null.@NonNull QueryModelCreates a criterion that asserts the given property is true.default @NonNull JoinPathjoin(@NonNull Association association) Join on the given association.default @NonNull JoinPathjoin(@NonNull Association association, Join.Type joinType) Join on the given association.@NonNull JoinPathJoin on the given association.@NonNull QueryModelUsed to restrict a value to be less than or equal to the given value.@NonNull QueryModelCreates a subquery criterion that ensures the given property is less than or equal to all the given returned values.@NonNull QueryModelleProperty(String propertyName, @NonNull String otherPropertyName) Constrains a property to be less than or equal to a specified other property.@NonNull QueryModelCreates a subquery criterion that ensures the given property is less than or equal to some of the given values.@NonNull QueryModelCreates a like Criterion based on the specified property name and value.@NonNull QueryModelUsed to restrict a value to be less than or equal to the given value.@NonNull QueryModelCreates a subquery criterion that ensures the given property is less than all the given returned values.@NonNull QueryModelUsed to restrict a value to be less than or equal to the given value.@NonNull QueryModelltProperty(@NonNull String propertyName, @NonNull String otherPropertyName) Constrains a property to be less than a specified other property.@NonNull QueryModelCreates a subquery criterion that ensures the given property is less than some of the given values.max(int max) Limits the maximum result.@NonNull QueryModelCreates a "not equals" Criterion based on the specified property name and value.@NonNull QueryModelneProperty(@NonNull String propertyName, @NonNull String otherPropertyName) Constrains a property to be not equal to a specified other property.@NonNull QueryModelCreates a logical negation.@NonNull QueryModelnotIn(@NonNull String propertyName, @NonNull QueryModel subquery) Creates a negated "in" Criterion using a subquery.offset(long offset) Sets the offset.@NonNull QueryModelCreates a logical disjunction.@NonNull ProjectionList@NonNull QueryModelCreates a rlike Criterion based on the specified property name and value.@NonNull QueryModelCreates a Criterion that constrains a collection property by size.@NonNull QueryModelCreates a Criterion that constrains a collection property to be greater than or equal to the given size.@NonNull QueryModelCreates a Criterion that constrains a collection property to be greater than the given size.@NonNull QueryModelCreates a Criterion that constrains a collection property to be less than or equal to the given size.@NonNull QueryModelCreates a Criterion that constrains a collection property to be less than to the given size.@NonNull QueryModelCreates a Criterion that constrains a collection property to be not equal to the given size.@NonNull QueryModelApply the given sort.@NonNull QueryModelstartsWith(@NonNull String propertyName, @NonNull Object parameter) Restricts the property match to strings starting with the given value.@NonNull QueryModelCreates that restricts the version to the given value.
-
Method Details
-
idEq
Description copied from interface:CriteriaCreates an "equals" Criterion based on the specified property name and value. -
versionEq
Description copied from interface:CriteriaCreates that restricts the version to the given value. -
isEmpty
Description copied from interface:CriteriaCreates a criterion that asserts the given property is empty (such as a blank string). -
isNotEmpty
Description copied from interface:CriteriaCreates a criterion that asserts the given property is not empty.- Specified by:
isNotEmptyin interfaceCriteria- Parameters:
propertyName- The property name- Returns:
- The criteria
-
isNull
Description copied from interface:CriteriaCreates a criterion that asserts the given property is null. -
isTrue
Description copied from interface:CriteriaCreates a criterion that asserts the given property is true. -
isFalse
Description copied from interface:CriteriaCreates a criterion that asserts the given property is false. -
isNotNull
Description copied from interface:CriteriaCreates a criterion that asserts the given property is not null. -
eq
Description copied from interface:CriteriaCreates an "equals" Criterion based on the specified property name and value. -
ne
@NonNull @NonNull QueryModel ne(@NonNull @NonNull String propertyName, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaCreates a "not equals" Criterion based on the specified property name and value. -
between
@NonNull @NonNull QueryModel between(@NonNull @NonNull String propertyName, @NonNull @NonNull Object start, @NonNull @NonNull Object finish) Description copied from interface:CriteriaRestricts the results by the given property value range (inclusive). -
gte
@NonNull @NonNull QueryModel gte(@NonNull @NonNull String property, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaUsed to restrict a value to be greater than or equal to the given value. -
ge
@NonNull @NonNull QueryModel ge(@NonNull @NonNull String property, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaUsed to restrict a value to be greater than or equal to the given value. -
gt
@NonNull @NonNull QueryModel gt(@NonNull @NonNull String property, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaUsed to restrict a value to be greater than or equal to the given value. -
lte
@NonNull @NonNull QueryModel lte(@NonNull @NonNull String property, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaUsed to restrict a value to be less than or equal to the given value. -
le
@NonNull @NonNull QueryModel le(@NonNull @NonNull String property, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaUsed to restrict a value to be less than or equal to the given value. -
lt
@NonNull @NonNull QueryModel lt(@NonNull @NonNull String property, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaUsed to restrict a value to be less than or equal to the given value. -
like
@NonNull @NonNull QueryModel like(@NonNull @NonNull String propertyName, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaCreates a like Criterion based on the specified property name and value. -
startsWith
@NonNull @NonNull QueryModel startsWith(@NonNull @NonNull String propertyName, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaRestricts the property match to strings starting with the given value.- Specified by:
startsWithin interfaceCriteria- Parameters:
propertyName- The property nameparameter- The parameter that provides the value- Returns:
- The criteria
-
endsWith
@NonNull @NonNull QueryModel endsWith(@NonNull @NonNull String propertyName, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaRestricts the property match to strings ending with the given value. -
contains
@NonNull @NonNull QueryModel contains(@NonNull @NonNull String propertyName, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaRestricts the property match to strings containing with the given value. -
ilike
@NonNull @NonNull QueryModel ilike(@NonNull @NonNull String propertyName, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaCreates an ilike Criterion based on the specified property name and value. Unlike a like condition, ilike is case-insensitive. -
rlike
@NonNull @NonNull QueryModel rlike(@NonNull @NonNull String propertyName, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaCreates a rlike Criterion based on the specified property name and value. -
and
Description copied from interface:CriteriaCreates a logical conjunction. -
or
Description copied from interface:CriteriaCreates a logical disjunction. -
not
Description copied from interface:CriteriaCreates a logical negation. -
inList
@NonNull @NonNull QueryModel inList(@NonNull @NonNull String propertyName, @NonNull @NonNull QueryModel subquery) Description copied from interface:CriteriaCreates an "in" Criterion using a subquery. -
inList
@NonNull @NonNull QueryModel inList(@NonNull @NonNull String propertyName, @NonNull @NonNull Object parameter) Description copied from interface:CriteriaCreates an "in" Criterion based on the specified property name and list of values. -
notIn
@NonNull @NonNull QueryModel notIn(@NonNull @NonNull String propertyName, @NonNull @NonNull QueryModel subquery) Description copied from interface:CriteriaCreates a negated "in" Criterion using a subquery. -
sizeEq
@NonNull @NonNull QueryModel sizeEq(@NonNull @NonNull String propertyName, @NonNull @NonNull Object size) Description copied from interface:CriteriaCreates a Criterion that constrains a collection property by size. -
sizeGt
@NonNull @NonNull QueryModel sizeGt(@NonNull @NonNull String propertyName, @NonNull @NonNull Object size) Description copied from interface:CriteriaCreates a Criterion that constrains a collection property to be greater than the given size. -
sizeGe
@NonNull @NonNull QueryModel sizeGe(@NonNull @NonNull String propertyName, @NonNull @NonNull Object size) Description copied from interface:CriteriaCreates a Criterion that constrains a collection property to be greater than or equal to the given size. -
sizeLe
@NonNull @NonNull QueryModel sizeLe(@NonNull @NonNull String propertyName, @NonNull @NonNull Object size) Description copied from interface:CriteriaCreates a Criterion that constrains a collection property to be less than or equal to the given size. -
sizeLt
@NonNull @NonNull QueryModel sizeLt(@NonNull @NonNull String propertyName, @NonNull @NonNull Object size) Description copied from interface:CriteriaCreates a Criterion that constrains a collection property to be less than to the given size. -
sizeNe
@NonNull @NonNull QueryModel sizeNe(@NonNull @NonNull String propertyName, @NonNull @NonNull Object size) Description copied from interface:CriteriaCreates a Criterion that constrains a collection property to be not equal to the given size. -
eqProperty
@NonNull @NonNull QueryModel eqProperty(@NonNull @NonNull String propertyName, @NonNull @NonNull String otherPropertyName) Description copied from interface:CriteriaConstrains a property to be equal to a specified other property.- Specified by:
eqPropertyin interfaceCriteria- Parameters:
propertyName- The propertyotherPropertyName- The other property- Returns:
- This criteria
-
neProperty
@NonNull @NonNull QueryModel neProperty(@NonNull @NonNull String propertyName, @NonNull @NonNull String otherPropertyName) Description copied from interface:CriteriaConstrains a property to be not equal to a specified other property.- Specified by:
nePropertyin interfaceCriteria- Parameters:
propertyName- The propertyotherPropertyName- The other property- Returns:
- This criteria
-
gtProperty
@NonNull @NonNull QueryModel gtProperty(@NonNull @NonNull String propertyName, @NonNull @NonNull String otherPropertyName) Description copied from interface:CriteriaConstrains a property to be greater than a specified other property.- Specified by:
gtPropertyin interfaceCriteria- Parameters:
propertyName- The propertyotherPropertyName- The other property- Returns:
- This criteria
-
geProperty
@NonNull @NonNull QueryModel geProperty(@NonNull @NonNull String propertyName, @NonNull @NonNull String otherPropertyName) Description copied from interface:CriteriaConstrains a property to be greater than or equal to a specified other property.- Specified by:
gePropertyin interfaceCriteria- Parameters:
propertyName- The propertyotherPropertyName- The other property- Returns:
- This criteria
-
ltProperty
@NonNull @NonNull QueryModel ltProperty(@NonNull @NonNull String propertyName, @NonNull @NonNull String otherPropertyName) Description copied from interface:CriteriaConstrains a property to be less than a specified other property.- Specified by:
ltPropertyin interfaceCriteria- Parameters:
propertyName- The propertyotherPropertyName- The other property- Returns:
- This criteria
-
leProperty
@NonNull @NonNull QueryModel leProperty(String propertyName, @NonNull @NonNull String otherPropertyName) Description copied from interface:CriteriaConstrains a property to be less than or equal to a specified other property.- Specified by:
lePropertyin interfaceCriteria- Parameters:
propertyName- The propertyotherPropertyName- The other property- Returns:
- This criteria
-
allEq
Description copied from interface:CriteriaApply an "equals" constraint to each property in the key set of aMap. -
eqAll
@NonNull @NonNull QueryModel eqAll(@NonNull @NonNull String propertyName, @NonNull @NonNull Criteria propertyValue) Description copied from interface:CriteriaCreates a subquery criterion that ensures the given property is equals to all the given returned values. -
gtAll
@NonNull @NonNull QueryModel gtAll(@NonNull @NonNull String propertyName, @NonNull @NonNull Criteria propertyValue) Description copied from interface:CriteriaCreates a subquery criterion that ensures the given property is greater than all the given returned values. -
ltAll
@NonNull @NonNull QueryModel ltAll(@NonNull @NonNull String propertyName, @NonNull @NonNull Criteria propertyValue) Description copied from interface:CriteriaCreates a subquery criterion that ensures the given property is less than all the given returned values. -
geAll
@NonNull @NonNull QueryModel geAll(@NonNull @NonNull String propertyName, @NonNull @NonNull Criteria propertyValue) Description copied from interface:CriteriaCreates a subquery criterion that ensures the given property is greater than or equals to all the given returned values. -
leAll
@NonNull @NonNull QueryModel leAll(@NonNull @NonNull String propertyName, @NonNull @NonNull Criteria propertyValue) Description copied from interface:CriteriaCreates a subquery criterion that ensures the given property is less than or equal to all the given returned values. -
gtSome
@NonNull @NonNull QueryModel gtSome(@NonNull @NonNull String propertyName, @NonNull @NonNull Criteria propertyValue) Description copied from interface:CriteriaCreates a subquery criterion that ensures the given property is greater than some of the given values. -
geSome
@NonNull @NonNull QueryModel geSome(@NonNull @NonNull String propertyName, @NonNull @NonNull Criteria propertyValue) Description copied from interface:CriteriaCreates a subquery criterion that ensures the given property is greater than or equal to some of the given values. -
ltSome
@NonNull @NonNull QueryModel ltSome(@NonNull @NonNull String propertyName, @NonNull @NonNull Criteria propertyValue) Description copied from interface:CriteriaCreates a subquery criterion that ensures the given property is less than some of the given values. -
leSome
@NonNull @NonNull QueryModel leSome(@NonNull @NonNull String propertyName, @NonNull @NonNull Criteria propertyValue) Description copied from interface:CriteriaCreates a subquery criterion that ensures the given property is less than or equal to some of the given values. -
getJoinPaths
Collection<JoinPath> getJoinPaths()- Returns:
- The join paths.
-
getPersistentEntity
- Returns:
- The entity the criteria applies to
-
getCriteria
- Returns:
- The criteria for this query
-
getProjections
- Returns:
- The projections that apply to this query.
-
getJoinPath
Obtain the join type for the given association.- Parameters:
path- The path- Returns:
- The join type for the association.
-
join
@NonNull @NonNull JoinPath join(String path, @NonNull Join.Type joinType, @Nullable @Nullable String alias) Join on the given association.- Parameters:
path- The join pathjoinType- The join typealias- The alias to use.- Returns:
- The query
-
join
@NonNull default @NonNull JoinPath join(@NonNull @NonNull Association association, @NonNull Join.Type joinType) Join on the given association.- Parameters:
association- The association, never nulljoinType- The join type- Returns:
- The query
-
join
Join on the given association.- Parameters:
association- The association, never null- Returns:
- The query
-
projections
- Returns:
- The projection list.
-
add
Adds the specified criterion instance to the query.- Parameters:
criterion- The criterion instance- Returns:
- This query
-
max
Limits the maximum result.- Parameters:
max- The pageSize- Returns:
- This query
-
offset
Sets the offset.- Parameters:
offset- The offset- Returns:
- This query
-
getSort
The sort to apply.- Returns:
- The sort
-
sort
Apply the given sort.- Parameters:
sort- The sort to apply- Returns:
- This query
-
from
Creates a query from the given entity.- Parameters:
entity- The entity- Returns:
- The query
-
getMax
int getMax()Get the pageSize results to return.- Returns:
- The pageSize results
-
getOffset
long getOffset()Get the offset of the query.- Returns:
- The offset
-
forUpdate
void forUpdate()Lock the selected entities. -
isForUpdate
boolean isForUpdate()Whether to lock the selected entities.- Returns:
- true if the selected entities should be locked
-