Annotates a repository method to request sorting of results.
When multiple OrderBy annotations are specified on a
repository method, the precedence for sorting follows the order
in which the OrderBy annotations are specified,
and after that follows any sort criteria that are supplied
dynamically by Sort parameters or by any Order parameter.
For example, the following sorts first by the
lastName attribute in ascending order,
and secondly, for entities with the same lastName,
it then sorts by the firstName attribute,
also in ascending order. For entities with the same
lastName and firstName.
@OrderBy("lastName")
@OrderBy("firstName")
@OrderBy("id")
Person[] findByZipCode(int zipCode, PageRequest pageRequest);
The interpretation of ascending and descending order is determined by the database, but, in general:
A before Z, andfalse before
true.A repository method with an @OrderBy annotation must not
have:
OrderBy keyword in its
name, nor@Query annotation specifying a JDQL or JPQL query
with an ORDER BY clause.A Jakarta Data provider is permitted to reject such a repository
method declaration at compile time or to implement the method to
throw UnsupportedOperationException.
A repository method will fail with a
DataException
or a more specific subclass if the database is incapable of
ordering with the requested sort criteria.
| Modifier and Type | Class and Description |
|---|---|
| public static @interface | OrderBy.
Enables multiple |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | Returns: whether to use descending (versus ascending) order.Indicate whether to use descending order when sorting by this attribute. |
| public boolean | Returns: whether or not to request case insensitive sorting for the property.Indicates whether or not to request case insensitive ordering from a database with case sensitive collation. |
| public String |
| descending | back to summary |
|---|---|
| public boolean descending() Indicate whether to use descending order when sorting by this attribute. The default value of
| |
| ignoreCase | back to summary |
|---|---|
| public boolean ignoreCase() Indicates whether or not to request case insensitive ordering
from a database with case sensitive collation.
A database with case insensitive collation performs case insensitive
ordering regardless of the requested The default value is
| |
| value | back to summary |
|---|---|
| public String value() Entity attribute name to sort by. For example,
@OrderBy("age")
Stream<Person> findByLastName(String lastName);
| |
OrderBy annotations on the method.
| Modifier and Type | Method and Description |
|---|---|
| public OrderBy[] | Returns: list of annotations.Returns a list of annotations with the first taking precedence, followed by the second, and so forth. |
| value | back to summary |
|---|---|
| public OrderBy[] value() Returns a list of annotations with the first taking precedence, followed by the second, and so forth.
| |