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。
推薦閱讀:
- 詳解使用Spring Data repository進行數據層的訪問問題
- 使用Spring Data Jpa查詢全部並排序
- 使用Spring Data R2DBC +Postgres實現增刪改查功能
- 繼承jpa Repository 寫自定義方法查詢實例
- JPA中JpaRepository接口的使用方式