如何在Spring Data中使用OrderBy和findAll

我正在使用spring数据,我的dao看起来像

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

在上面的代码中,注释行显示了我的意图。 可以弹簧数据提供内置的function,使用这种方法来find所有的logging顺序由一些列与ASC / DESC?

谢谢 :)

我对派对有点晚了,但是因为接受的答案使用了Sort来实现你想要的,所以我决定把这个发布给任何可能寻找这个问题的答案的人。

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

上面的代码应该工作。 我正在使用类似的东西:

 public List<Pilot> findTop10ByOrderByLevelDesc(); 

它返回最高级别的10行。

重要提示:
由于我已经被告知很容易错过这个答案的关键点,这里有一点澄清:

findAll By OrderByIdAsc();

这个小小的'通过'是所有的魔法。

AFAIK,我不认为这是可能的直接方法命名查询。 但是,您可以使用内置的sorting机制,使用Sort类。 存储库有一个findAll(Sort)方法,您可以将Sort一个实例传递给。 例如:

 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"); } } 

请看这里: https : //docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods

在“表2.3。方法名称中支持的关键字”

我认为它正是你所需要的和你所说的相同的查询应该工作…