Class TestDoubleQuery<T>
- All Implemented Interfaces:
ValqueriesGroupQuery<T>
,ValqueriesQuery<T>
,CrudRepository.InlineQuery<T,
ValqueriesQuery<T>>
-
Field Summary
Fields inherited from class io.ran.TestDoubleQuery
delayLimit, filters, index, indexLookups, limit, offset, sorts, store
Fields inherited from class io.ran.CrudRepoBaseQuery
clazz, genericFactory, instance, queryWrapper, typeDescriber
-
Constructor Summary
ConstructorsConstructorDescriptionTestDoubleQuery
(Class<T> modelType, GenericFactory genericFactory, MappingHelper mappingHelper, TestDoubleDb testDoubleDb) -
Method Summary
Modifier and TypeMethodDescriptionAllows to perform aggregations without grouping by any columns.concat
(BiConsumer<T, ?> field, String separator) Add an aggregation that concatenates the values of a field as a string.Add an aggregation that concatenates the values of a field as a string.count
(BiConsumer<T, ?> field) Add an aggregation that counts non-NULL values of a field.Add an aggregation that counts non-NULL values of a field.delete()
Delete all entries that match the query.eq
(Property.PropertyValue<?> propertyValue) execute()
Execute the query and return the results as aStream
.freetext
(Property.PropertyValue<String> propertyValue) freetext
(BiConsumer<T, String> field, String value) protected ValqueriesQuery<T>
protected <X> X
groupBy
(BiConsumer<T, ?>... fields) Create a group by query.Create a group by query.Execute the query.<X extends Comparable<? super X>>
ValqueriesQuery<T>gt
(Property.PropertyValue<X> propertyValue) in
(Property.PropertyValueList<?> propertyValues) <X> ValqueriesQuery<T>
in
(BiConsumer<T, X> field, Collection<X> value) Match if the value of a field equals any of the specified values.<X> ValqueriesQuery<T>
in
(BiConsumer<T, X> field, X... value) Match if the value of a field equals any of the specified values.<X> ValqueriesQuery<T>
in
(Function<T, X> field, Collection<X> value) Match if the value of a field equals any of the specified values.<X> ValqueriesQuery<T>
Match if the value of a field equals any of the specified values.isNotNull
(BiConsumer<T, ?> field) Match if the value of a field is not null.Match if the value of a field is not null.like
(Property.PropertyValue<String> propertyValue) like
(BiConsumer<T, String> field, String value) Match if the value of a field islike
the specified value.Match if the value of a field islike
the specified value.<X extends Comparable<? super X>>
ValqueriesQuery<T>lt
(Property.PropertyValue<X> propertyValue) <X extends Comparable<? super X>>
ValqueriesGroupQuery<T>max
(BiConsumer<T, X> field) Add an aggregation that calculates the maximum value of a field.<X extends Comparable<? super X>>
ValqueriesGroupQuery<T>Add an aggregation that calculates the maximum value of a field.<X extends Comparable<? super X>>
ValqueriesGroupQuery<T>min
(BiConsumer<T, X> field) Add an aggregation that calculates the minimum value of a field.<X extends Comparable<? super X>>
ValqueriesGroupQuery<T>Add an aggregation that calculates the minimum value of a field.notEq
(Property.PropertyValue<?> propertyValue) notIn
(Property.PropertyValueList<?> propertyValues) <X> ValqueriesQuery<T>
notIn
(BiConsumer<T, X> field, Collection<X> value) Match if the value of a field does not equal any of the specified values.<X> ValqueriesQuery<T>
notIn
(BiConsumer<T, X> field, X... value) Match if the value of a field does not equal any of the specified values.<X> ValqueriesQuery<T>
notIn
(Function<T, X> field, Collection<X> value) Match if the value of a field does not equal any of the specified values.<X> ValqueriesQuery<T>
Match if the value of a field does not equal any of the specified values.notLike
(Property.PropertyValue<String> propertyValue) notLike
(BiConsumer<T, String> field, String value) Match if the value of a field is notlike
the specified value.Match if the value of a field is notlike
the specified value.<X,
Z extends CrudRepository.InlineQuery<X, Z>>
ValqueriesQuery<T>subQuery
(RelationDescriber relationDescriber, Consumer<Z> consumer) <X> ValqueriesQuery<T>
subQuery
(BiConsumer<T, X> field, Consumer<ValqueriesQuery<X>> subQuery) Perform further queries on a related model.<X> ValqueriesQuery<T>
subQuery
(Function<T, X> field, Consumer<ValqueriesQuery<X>> subQuery) Perform further queries on a related model.<X> ValqueriesQuery<T>
subQueryList
(RelationDescriber relationDescriber, Consumer<ValqueriesQuery<X>> subQuery) <X> ValqueriesQuery<T>
subQueryList
(BiConsumer<T, ? extends Collection<X>> field, Consumer<ValqueriesQuery<X>> subQuery) Perform further queries on a related model which has a one-to-many relation.<X> ValqueriesQuery<T>
subQueryList
(Function<T, ? extends Collection<X>> field, Consumer<ValqueriesQuery<X>> subQuery) Perform further queries on a related model which has a one-to-many relation.sum
(BiConsumer<T, ? extends Number> field) Add an aggregation that sums the values of a field.Add an aggregation that sums the values of a field.update
(Consumer<ValqueriesUpdate<T>> updaterConsumer) withEager
(RelationDescriber relationDescriber) Methods inherited from class io.ran.TestDoubleQuery
and, count, distinct, executeInternal, gte, limit, limit, lte, or, selectField, sortAscending, sortDescending
Methods inherited from class io.ran.CrudRepoBaseQuery
distinct, eq, eq, gt, gt, gte, gte, isNull, isNull, lt, lt, lte, lte, notEq, notEq, selectField, sortAscending, sortAscending, sortDescending, sortDescending, withEager, withEager
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.ran.CrudRepository.InlineQuery
and, count, distinct, distinct, eq, eq, gt, gt, gte, gte, gte, isNull, isNull, limit, limit, lt, lt, lte, lte, lte, notEq, notEq, or, selectField, selectField, sortAscending, sortAscending, sortAscending, sortDescending, sortDescending, sortDescending, withEager, withEager
-
Constructor Details
-
TestDoubleQuery
public TestDoubleQuery(Class<T> modelType, GenericFactory genericFactory, MappingHelper mappingHelper, TestDoubleDb testDoubleDb)
-
-
Method Details
-
eq
- Specified by:
eq
in interfaceCrudRepository.InlineQuery<T,
ValqueriesQuery<T>> - Overrides:
eq
in classTestDoubleQuery<T,
ValqueriesQuery<T>>
-
notEq
- Specified by:
notEq
in interfaceCrudRepository.InlineQuery<T,
ValqueriesQuery<T>> - Overrides:
notEq
in classTestDoubleQuery<T,
ValqueriesQuery<T>>
-
gt
public <X extends Comparable<? super X>> ValqueriesQuery<T> gt(Property.PropertyValue<X> propertyValue) - Specified by:
gt
in interfaceCrudRepository.InlineQuery<T,
ValqueriesQuery<T>> - Overrides:
gt
in classTestDoubleQuery<T,
ValqueriesQuery<T>>
-
lt
public <X extends Comparable<? super X>> ValqueriesQuery<T> lt(Property.PropertyValue<X> propertyValue) - Specified by:
lt
in interfaceCrudRepository.InlineQuery<T,
ValqueriesQuery<T>> - Overrides:
lt
in classTestDoubleQuery<T,
ValqueriesQuery<T>>
-
isNull
- Specified by:
isNull
in interfaceCrudRepository.InlineQuery<T,
ValqueriesQuery<T>> - Overrides:
isNull
in classTestDoubleQuery<T,
ValqueriesQuery<T>>
-
isNotNull
- Specified by:
isNotNull
in interfaceValqueriesQuery<T>
-
in
- Specified by:
in
in interfaceValqueriesQuery<T>
-
notIn
- Specified by:
notIn
in interfaceValqueriesQuery<T>
-
like
- Specified by:
like
in interfaceValqueriesQuery<T>
-
notLike
- Specified by:
notLike
in interfaceValqueriesQuery<T>
-
freetext
- Specified by:
freetext
in interfaceValqueriesQuery<T>
-
withEager
- Specified by:
withEager
in interfaceCrudRepository.InlineQuery<T,
ValqueriesQuery<T>> - Overrides:
withEager
in classTestDoubleQuery<T,
ValqueriesQuery<T>>
-
subQuery
public <X,Z extends CrudRepository.InlineQuery<X, ValqueriesQuery<T> subQueryZ>> (RelationDescriber relationDescriber, Consumer<Z> consumer) - Specified by:
subQuery
in interfaceCrudRepository.InlineQuery<T,
ValqueriesQuery<T>> - Overrides:
subQuery
in classTestDoubleQuery<T,
ValqueriesQuery<T>>
-
getQuery
- Specified by:
getQuery
in classTestDoubleQuery<T,
ValqueriesQuery<T>>
-
getValue
-
in
Description copied from interface:ValqueriesQuery
Match if the value of a field equals any of the specified values.Example:
query.in(Person::getName, List.of("Bob", "Frank"))
This will match people with the name "Bob" or "Frank".
Null values are never
in
, but if a mix of null and non-null values are passed, the null values will be ignored due to the OR nature of thein
operation.- Specified by:
in
in interfaceValqueriesQuery<T>
- Type Parameters:
X
- the type of the field and value- Parameters:
field
- a method reference to the getter of the field to matchvalue
- the values to match, in an OR fashion- Returns:
- the query, for chaining
-
in
Description copied from interface:ValqueriesQuery
Match if the value of a field equals any of the specified values.Example:
query.in(Person::setName, List.of("Bob", "Frank"))
This will match people with the name "Bob" or "Frank".
Null values are never
in
, but if a mix of null and non-null values are passed, the null values will be ignored due to the OR nature of thein
operation.If you wish to match both null and non-null values you can use
.or(or -> or.isNull(field).in(field, value)
.- Specified by:
in
in interfaceValqueriesQuery<T>
- Type Parameters:
X
- the type of the field and value- Parameters:
field
- a method reference to the setter of the field to matchvalue
- the values to match, in an OR fashion- Returns:
- the query, for chaining
-
in
Description copied from interface:ValqueriesQuery
Match if the value of a field equals any of the specified values.Example:
query.in(Person::getName, "Bob", "Frank")
This will match people with the name "Bob" or "Frank".
Null values are never
in
, but if a mix of null and non-null values are passed, the null values will be ignored due to the OR nature of thein
operation.If you wish to match both null and non-null values you can use
.or(or -> or.isNull(field).in(field, value)
.- Specified by:
in
in interfaceValqueriesQuery<T>
- Type Parameters:
X
- the type of the field and value- Parameters:
field
- a method reference to the getter of the field to matchvalue
- the values to match, in an OR fashion- Returns:
- the query, for chaining
-
in
Description copied from interface:ValqueriesQuery
Match if the value of a field equals any of the specified values.Example:
query.in(Person::setName, "Bob", "Frank")
This will match people with the name "Bob" or "Frank".
Null values are never
in
, but if a mix of null and non-null values are passed, the null values will be ignored due to the OR nature of thein
operation.If you wish to match both null and non-null values you can use
.or(or -> or.isNull(field).in(field, value)
.- Specified by:
in
in interfaceValqueriesQuery<T>
- Type Parameters:
X
- the type of the field and value- Parameters:
field
- a method reference to the setter of the field to matchvalue
- the values to match, in an OR fashion- Returns:
- the query, for chaining
-
notIn
Description copied from interface:ValqueriesQuery
Match if the value of a field does not equal any of the specified values.Example:
query.notIn(Person::getName, List.of("Bob", "Frank"))
This will match people with a name other than "Bob" or "Frank", but not people with a null name.
If the passed values include a null value, no match will be made.
The empty list is a valid argument, and will match all values. This is equivalent to not having the condition at all.
- Specified by:
notIn
in interfaceValqueriesQuery<T>
- Type Parameters:
X
- the type of the field and value- Parameters:
field
- a method reference to the getter of the field to matchvalue
- the values to match, in an AND fashion- Returns:
- the query, for chaining
-
notIn
Description copied from interface:ValqueriesQuery
Match if the value of a field does not equal any of the specified values.Example:
query.notIn(Person::setName, List.of("Bob", "Frank"))
This will match people with a name other than "Bob" or "Frank", but not people with a null name.
If the passed values include a null value, no match will be made.
The empty list is a valid argument, and will match all values. This is equivalent to not having the condition at all.
- Specified by:
notIn
in interfaceValqueriesQuery<T>
- Type Parameters:
X
- the type of the field and value- Parameters:
field
- a method reference to the setter of the field to matchvalue
- the values to match, in an AND fashion- Returns:
- the query, for chaining
-
notIn
Description copied from interface:ValqueriesQuery
Match if the value of a field does not equal any of the specified values.Example:
query.notIn(Person::getName, "Bob", "Frank")
This will match people with a name other than "Bob" or "Frank", but not people with a null name.
If the passed values include a null value, no match will be made.
The empty list is a valid argument, and will match all values. This is equivalent to not having the condition at all.
- Specified by:
notIn
in interfaceValqueriesQuery<T>
- Type Parameters:
X
- the type of the field and value- Parameters:
field
- a method reference to the getter of the field to matchvalue
- the values to match, in an AND fashion- Returns:
- the query, for chaining
-
notIn
Description copied from interface:ValqueriesQuery
Match if the value of a field does not equal any of the specified values.Example:
query.notIn(Person::setName, "Bob", "Frank")
This will match people with a name other than "Bob" or "Frank", but not people with a null name.
If the passed values include a null value, no match will be made.
The empty list is a valid argument, and will match all values. This is equivalent to not having the condition at all.
- Specified by:
notIn
in interfaceValqueriesQuery<T>
- Type Parameters:
X
- the type of the field and value- Parameters:
field
- a method reference to the setter of the field to matchvalue
- the values to match, in an AND fashion- Returns:
- the query, for chaining
-
like
Description copied from interface:ValqueriesQuery
Match if the value of a field islike
the specified value.Like uses a simplified version of SQL LIKE, where the value can contain the SQL wildcards % and _.
The % wildcard matches any number of characters, including zero. The _ wildcard matches exactly one character.
Example:
query.like(Person::getName, "Bob%")
This will match people with a name starting with "Bob".
Secondary example:
query.like(Person::getName, "%Bob%")
This will match people with a name containing "Bob" anywhere in the name.
Tertiary example:
query.like(Person::getName, "B_b")
This will match people with a name containing "B", followed by any letter, then followed by "b", exactly.
like
will never match null values in the database, additionally if a null value is passed, no match will be made even against non-null values.- Specified by:
like
in interfaceValqueriesQuery<T>
- Parameters:
field
- a method reference to the getter of the field to matchvalue
- the value to match- Returns:
- the query, for chaining
-
like
Description copied from interface:ValqueriesQuery
Match if the value of a field islike
the specified value.Like uses a simplified version of SQL LIKE, where the value can contain the SQL wildcards % and _.
The % wildcard matches any number of characters, including zero. The _ wildcard matches exactly one character.
Example:
query.like(Person::setName, "Bob%")
This will match people with a name starting with "Bob".
Secondary example:
query.like(Person::setName, "%Bob%")
This will match people with a name containing "Bob" anywhere in the name.
Tertiary example:
query.like(Person::setName, "B_b")
This will match people with a name containing "B", followed by any letter, then followed by "b", exactly.
like
will never match null values in the database, additionally if a null value is passed, no match will be made even against non-null values.- Specified by:
like
in interfaceValqueriesQuery<T>
- Parameters:
field
- a method reference to the setter of the field to matchvalue
- the value to match- Returns:
- the query, for chaining
-
notLike
Description copied from interface:ValqueriesQuery
Match if the value of a field is notlike
the specified value.Like uses a simplified version of SQL LIKE, where the value can contain the SQL wildcards % and _.
The % wildcard matches any number of characters, including zero. The _ wildcard matches exactly one character.
Example:
query.notLike(Person::getName, "Bob%")
This will match people with a name not starting with "Bob".
Secondary example:
query.notLike(Person::getName, "%Bob%")
This will match people with a name not containing "Bob" anywhere in the name.
Tertiary example:
query.notLike(Person::getName, "B_b")
This will match people with a name that is not "B", followed by any letter, then followed by "b", exactly. For example it will match "Frank" or "Bubba", but not "Bob".
notLike
will never match null values in the database, additionally if a null value is passed, no match will be made even against non-null values.- Specified by:
notLike
in interfaceValqueriesQuery<T>
- Parameters:
field
- a method reference to the getter of the field to matchvalue
- the value to match- Returns:
- the query, for chaining
-
notLike
Description copied from interface:ValqueriesQuery
Match if the value of a field is notlike
the specified value.Like uses a simplified version of SQL LIKE, where the value can contain the SQL wildcards % and _.
The % wildcard matches any number of characters, including zero. The _ wildcard matches exactly one character.
Example:
query.notLike(Person::setName, "Bob%")
This will match people with a name not starting with "Bob".
Secondary example:
query.notLike(Person::setName, "%Bob%")
This will match people with a name not containing "Bob" anywhere in the name.
Tertiary example:
query.notLike(Person::setName, "B_b")
This will match people with a name that is not "B", followed by any letter, then followed by "b", exactly. For example, it will match "Frank" or "Bubba", but not "Bob".
notLike
will never match null values in the database, additionally if a null value is passed, no match will be made even against non-null values.- Specified by:
notLike
in interfaceValqueriesQuery<T>
- Parameters:
field
- a method reference to the setter of the field to matchvalue
- the value to match- Returns:
- the query, for chaining
-
freetext
- Specified by:
freetext
in interfaceValqueriesQuery<T>
-
freetext
- Specified by:
freetext
in interfaceValqueriesQuery<T>
-
isNotNull
Description copied from interface:ValqueriesQuery
Match if the value of a field is not null.Example:
query.isNotNull(Person::getEmail)
This will match people whose email is not null.
Note: if the model class has fields of primitive type, they won't be null, even if the database contains NULL values. In this case isNotNull will still match correctly based on the values in the database.
- Specified by:
isNotNull
in interfaceValqueriesQuery<T>
- Parameters:
field
- a method reference to the getter of the field to match- Returns:
- the query, for chaining
-
isNotNull
Description copied from interface:ValqueriesQuery
Match if the value of a field is not null.Example:
query.isNotNull(Person::setEmail)
This will match people whose email is not null.
Note: if the model class has fields of primitive type, they won't be null, even if the database contains NULL values. In this case isNotNull will still match correctly based on the values in the database.
- Specified by:
isNotNull
in interfaceValqueriesQuery<T>
- Parameters:
field
- a method reference to the setter of the field to match- Returns:
- the query, for chaining
-
subQuery
Description copied from interface:ValqueriesQuery
Perform further queries on a related model.A related model is one that is referenced by a field in the current model and which is mapped via a
Relation
annotation.Example:
query.subQuery(Person::getAddress, subQuery -> subQuery.eq(Address::getCity, "Stockholm"))
This will match people whose address has the city "Stockholm".
The subQuery is not executed until the main query is executed.
The subQuery is executed in the same transaction as the main query.
- Specified by:
subQuery
in interfaceValqueriesQuery<T>
- Type Parameters:
X
- the type of the sub-object- Parameters:
field
- a method reference to the getter of the field to matchsubQuery
- a consumer that will be called with the subQuery- Returns:
- the query, for chaining
-
subQuery
public <X> ValqueriesQuery<T> subQuery(BiConsumer<T, X> field, Consumer<ValqueriesQuery<X>> subQuery) Description copied from interface:ValqueriesQuery
Perform further queries on a related model.A related model is one that is referenced by a field in the current model and which is mapped via a
Relation
annotation.Example:
query.subQuery(Person::setAddress, subQuery -> subQuery.eq(Address::setCity, "Stockholm"))
This will match people whose address has the city "Stockholm".
The subQuery is not executed until the main query is executed.
The subQuery is executed in the same transaction as the main query.
- Specified by:
subQuery
in interfaceValqueriesQuery<T>
- Type Parameters:
X
- the type of the sub-object- Parameters:
field
- a method reference to the setter of the field to matchsubQuery
- a consumer that will be called with the subQuery- Returns:
- the query, for chaining
-
subQueryList
public <X> ValqueriesQuery<T> subQueryList(Function<T, ? extends Collection<X>> field, Consumer<ValqueriesQuery<X>> subQuery) Description copied from interface:ValqueriesQuery
Perform further queries on a related model which has a one-to-many relation.A related model is one that is referenced by a field in the current model and which is mapped via a
Relation
annotation.Example:
Assume that Person object has a list of Address objects, and that the Address object has a field called "city".
query.subQueryList(Person::getAddresses, subQuery -> subQuery.eq(Address::getCity, "Stockholm"))
This will match people who have any addresses where the city is "Stockholm".
The subQuery is not executed until the main query is executed.
The subQuery is executed in the same transaction as the main query.
- Specified by:
subQueryList
in interfaceValqueriesQuery<T>
- Type Parameters:
X
- the type of the sub-objectsubQuery
- a consumer that will be called with the subQuery- Returns:
- the query, for chaining
-
subQueryList
public <X> ValqueriesQuery<T> subQueryList(BiConsumer<T, ? extends Collection<X>> field, Consumer<ValqueriesQuery<X>> subQuery) Description copied from interface:ValqueriesQuery
Perform further queries on a related model which has a one-to-many relation.A related model is one that is referenced by a field in the current model and which is mapped via a
Relation
annotation.Example:
Assume that Person object has a list of Address objects, and that the Address object has a field called "city".
query.subQueryList(Person::setAddresses, subQuery -> subQuery.eq(Address::setCity, "Stockholm"))
This will match people who have any address(es) where the city is "Stockholm".
The subQuery is not executed until the main query is executed.
The subQuery is executed in the same transaction as the main query.
- Specified by:
subQueryList
in interfaceValqueriesQuery<T>
- Type Parameters:
X
- the type of the sub-objectsubQuery
- a consumer that will be called with the subQuery- Returns:
- the query, for chaining
-
subQueryList
public <X> ValqueriesQuery<T> subQueryList(RelationDescriber relationDescriber, Consumer<ValqueriesQuery<X>> subQuery) - Specified by:
subQueryList
in interfaceValqueriesQuery<T>
-
update
- Specified by:
update
in interfaceValqueriesQuery<T>
-
groupBy
Description copied from interface:ValqueriesQuery
Create a group by query.- Specified by:
groupBy
in interfaceValqueriesQuery<T>
- Parameters:
fields
- Getters of the fields to group by. The values ofValqueriesGroupResultRow.groupByValues()
will be in the same order.- Returns:
- the group by query that allows adding aggregations.
-
groupBy
Description copied from interface:ValqueriesQuery
Create a group by query.- Specified by:
groupBy
in interfaceValqueriesQuery<T>
- Parameters:
fields
- Setters of the fields to group by. The values ofValqueriesGroupResultRow.groupByValues()
will be in the same order.- Returns:
- the group by query that allows adding aggregations.
-
aggregateAll
Description copied from interface:ValqueriesQuery
Allows to perform aggregations without grouping by any columns. The result will be a single row with emptyValqueriesGroupResultRow.groupByValues()
.- Specified by:
aggregateAll
in interfaceValqueriesQuery<T>
- Returns:
- the query that allows adding aggregations.
-
count
Description copied from interface:ValqueriesGroupQuery
Add an aggregation that counts non-NULL values of a field. The values inValqueriesGroupResultRow.aggregationValues()
will be in the order aggregations were added to the query.- Specified by:
count
in interfaceValqueriesGroupQuery<T>
- Parameters:
field
- Getter of the field to count- Returns:
- this query, for chaining
-
count
Description copied from interface:ValqueriesGroupQuery
Add an aggregation that counts non-NULL values of a field.- Specified by:
count
in interfaceValqueriesGroupQuery<T>
- Parameters:
field
- Setter of the field to count- Returns:
- this query, for chaining
-
sum
Description copied from interface:ValqueriesGroupQuery
Add an aggregation that sums the values of a field. ForFloat
andDouble
fields the result will beDouble
, forBigInteger
andBigDecimal
the result will be the same, for all other fields the result will beLong
. The values inValqueriesGroupResultRow.aggregationValues()
will be in the order aggregations were added to the query.- Specified by:
sum
in interfaceValqueriesGroupQuery<T>
- Parameters:
field
- Getter of the field to sum- Returns:
- this query, for chaining
-
sum
Description copied from interface:ValqueriesGroupQuery
Add an aggregation that sums the values of a field. ForFloat
andDouble
fields the result will beDouble
, forBigInteger
andBigDecimal
the result will be the same, for all other fields the result will beLong
. The values inValqueriesGroupResultRow.aggregationValues()
will be in the order aggregations were added to the query.- Specified by:
sum
in interfaceValqueriesGroupQuery<T>
- Parameters:
field
- Setter of the field to sum- Returns:
- this query, for chaining
-
max
Description copied from interface:ValqueriesGroupQuery
Add an aggregation that calculates the maximum value of a field. The values inValqueriesGroupResultRow.aggregationValues()
will be in the order aggregations were added to the query.- Specified by:
max
in interfaceValqueriesGroupQuery<T>
- Parameters:
field
- Getter of the field to calculate the maximum of. (If the type is not comparable in Java, but it is comparable in the database, cast the argument to a raw type)- Returns:
- this query, for chaining
-
max
Description copied from interface:ValqueriesGroupQuery
Add an aggregation that calculates the maximum value of a field. The values inValqueriesGroupResultRow.aggregationValues()
will be in the order aggregations were added to the query.- Specified by:
max
in interfaceValqueriesGroupQuery<T>
- Parameters:
field
- Setter of the field to calculate the maximum of. (If the type is not comparable in Java, but it is comparable in the database, cast the argument to a raw type)- Returns:
- this query, for chaining
-
min
Description copied from interface:ValqueriesGroupQuery
Add an aggregation that calculates the minimum value of a field. The values inValqueriesGroupResultRow.aggregationValues()
will be in the order aggregations were added to the query.- Specified by:
min
in interfaceValqueriesGroupQuery<T>
- Parameters:
field
- Getter of the field to calculate the minimum of. (If the type is not comparable in Java, but it is comparable in the database, cast the argument to a raw type)- Returns:
- this query, for chaining
-
min
Description copied from interface:ValqueriesGroupQuery
Add an aggregation that calculates the minimum value of a field. The values inValqueriesGroupResultRow.aggregationValues()
will be in the order aggregations were added to the query.- Specified by:
min
in interfaceValqueriesGroupQuery<T>
- Parameters:
field
- Setter of the field to calculate the minimum of. (If the type is not comparable in Java, but it is comparable in the database, cast the argument to a raw type)- Returns:
- this query, for chaining
-
concat
Description copied from interface:ValqueriesGroupQuery
Add an aggregation that concatenates the values of a field as a string. The values inValqueriesGroupResultRow.aggregationValues()
will be in the order aggregations were added to the query.- Specified by:
concat
in interfaceValqueriesGroupQuery<T>
- Parameters:
field
- Getter of the field to concatenateseparator
- The separator to use between values- Returns:
- this query, for chaining
-
concat
Description copied from interface:ValqueriesGroupQuery
Add an aggregation that concatenates the values of a field as a string. The values inValqueriesGroupResultRow.aggregationValues()
will be in the order aggregations were added to the query.- Specified by:
concat
in interfaceValqueriesGroupQuery<T>
- Parameters:
field
- Setter of the field to concatenateseparator
- The separator to use between values- Returns:
- this query, for chaining
-
groupByExecute
Description copied from interface:ValqueriesGroupQuery
Execute the query.- Specified by:
groupByExecute
in interfaceValqueriesGroupQuery<T>
- Returns:
- A stream of rows, each containing the values of the fields that were grouped by and the values of the aggregations, both in the same order they were queried.
-
execute
Description copied from interface:CrudRepository.InlineQuery
Execute the query and return the results as aStream
.This is a terminal operation. As such, the query should not be reused after this method is called.
The resulting
Stream
from the operation may be a lazy stream, meaning that the results are not fetched from the database until they are accessed. As such it is important that a terminal operation is performed on the stream within a reasonable time frame to avoid holding database connections open.- Specified by:
execute
in interfaceCrudRepository.InlineQuery<T,
ValqueriesQuery<T>> - Overrides:
execute
in classTestDoubleQuery<T,
ValqueriesQuery<T>> - Returns:
- a
Stream
of the results
-
delete
Description copied from interface:CrudRepository.InlineQuery
Delete all entries that match the query.This is a terminal operation. As such, the query should not be reused after this method is called.
WARNING: If you invoke no query methods prior to this, all rows in the table with be deleted.
- Specified by:
delete
in interfaceCrudRepository.InlineQuery<T,
ValqueriesQuery<T>> - Overrides:
delete
in classTestDoubleQuery<T,
ValqueriesQuery<T>> - Returns:
- a
CrudRepository.CrudUpdateResult
with the number of rows affected - See Also:
-