working sort query not data con annotation spring spring-data spring-data-jpa

sort - Cómo utilizar OrderBy con findAll en Spring Data



spring data sort (3)

Estoy usando datos de primavera y mi DAO parece

public interface StudentDAO extends JpaRepository<StudentEntity, Integer> { public findAllOrderByIdAsc(); // I want to use some thing like this }

En el código anterior, la línea comentada muestra mi intención. ¿Puede Spring Data proporcionar funcionalidad incorporada para usar dicho método para encontrar todos los registros ordenados por alguna columna con ASC / DESC?


AFAIK, no creo que esto sea posible con una consulta de nombres de métodos directos. Sin embargo, puede utilizar el mecanismo de clasificación integrado, utilizando la clase Sort . El repositorio tiene un findAll(Sort) que puede pasar una instancia de Sort to. Por ejemplo:

import org.springframework.data.domain.Sort; @Repository public class StudentServiceImpl implements StudentService { @Autowired private StudentDAO studentDao; @Override public List<Student> findAll() { return studentDao.findAll(sortByIdAsc()); } private Sort sortByIdAsc() { return new Sort(Sort.Direction.ASC, "id"); } }



public interface StudentDAO extends JpaRepository<StudentEntity, Integer> { public List<StudentEntity> findAllByOrderByIdAsc(); }

El código anterior debería funcionar. Estoy usando algo similar:

public List<Pilot> findTop10ByOrderByLevelDesc();

Devuelve 10 filas con el nivel más alto.

IMPORTANTE: dado que me han dicho que es fácil pasar por alto el punto clave de esta respuesta, aquí hay una pequeña aclaración:

findAllByOrderByIdAsc(); // don''t miss "by" ^