Spring DATA JPA 中findAll 進行OrderBy方式

Spring DATA JPA 中findAll 進行OrderBy

需要在 repository 中 定義這樣的方法 :findAllByOrderByUpdatedAtDesc()

public List findAllByOrderByUpdatedAtDesc();

重要:(中間要多加一個By)

findAllByOrderByUpdatedAtDesc();

The little ‘By’ does all the magic.

Spring Data JPA使用orderby的一個小坑

按照網上可以查到的JPA寫法,我想找到全部的數據並且按照rank升序排列,代碼如下

public interface RsEventRepository extends CrudRepository<RsEventDto, Integer> {
  List<RsEventDto> findAllByOrderByRankAsc();
  }

結果java報錯,接著在entity,還有repository裡面找問題。

java.lang.IllegalStateException: Failed to load ApplicationContext

No property asc found for type int! Traversed path: RsEventEntity.rank.

最後發現,應該在ALL後面加個by

List<RsEventDto> findAllByOrderByRankAsc();

這樣就可以按照我的想法進行查詢瞭。

果然,JPA寫CRUD全靠猜-_-

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: