Я использую данные весны, и мой DAO выглядит
public interface StudentDAO extends JpaRepository<StudentEntity, Integer> {
public findAllOrderByIdAsc(); // I want to use some thing like this
}
В приведенном выше коде строка комментариев показывает мое намерение. Может ли Spring Data предоставить встроенную функциональность для использования такого метода, чтобы найти все записи по некоторому столбцу с ASC / DESC?
spring
spring-data
spring-data-jpa
Прашант Шилимкар
источник
источник
List<StudentEntity> findAllByOrderByIdAsc();
. Добавление типа возврата и удаление избыточного публичного модификатора также является хорошей идеей;)By
передOrderBy
ключевым словом имеет все значение.By
передOrderBy
. Документация не говорит об этом .AFAIK, я не думаю, что это возможно с прямым запросом имен метода. Однако вы можете использовать встроенный механизм сортировки, используя
Sort
класс. В хранилище естьfindAll(Sort)
метод, которому вы можете передать экземплярSort
. Например:источник
findAll()
в типеCrudRepository<>
не применим для аргументов (Сортировка)JpaRepository<>
если вы хотите использовать приведенный выше пример.Пожалуйста, ознакомьтесь с Spring Data JPA - Справочная документация, раздел 5.3. Методы запросов , особенно в разделе 5.3.2. Создание запроса , в « Таблице 3. Поддерживаемые ключевые слова в именах методов » (ссылки на 2019-05-03).
Я думаю, что это именно то, что вам нужно, и тот же запрос, как вы заявили, должен работать ...
источник
Простой способ:
Источник: https://www.baeldung.com/spring-data-sorting.
источник
Да, вы можете сортировать, используя метод запроса в Spring Data.
Пример: в порядке возрастания или в порядке убывания, используя значение поля id.
Код:
альтернативное решение:
Весенняя сортировка данных: сортировка
источник
В этом примере я пытаюсь показать вам полный пример для персонализации ваших сортировок OrderBy.
вы будете использовать этот пример: метод для динамического построения объекта, экземпляр Sort:
источник
Комбинируя все ответы выше, вы можете написать повторно используемый код с BaseEntity:
Объект DAO перегружает метод findAll - в основном все еще использует
findAll()
StudentEntity
extends,BaseEntity
который содержит повторяемые поля (возможно, вы также хотите отсортировать по ID)Наконец, сервис и использование
SORT_BY_CREATED_AT_DESC
которого, вероятно, будет использоваться не только вStudentService
.источник