2015-09-03 62 views
3

低於唯一的方式(不那麼「乾淨」恕我直言)?我期望類似@SortDefault@PageableDefault,但它只適用於(REST)控制器,不適用於Spring Data REST。如何在Spring Data @Repository查找方法中指定默認排序?

@Query("SELECT e FROM FacebookPost e WHERE e.commentsPaging.next IS NOT NULL ORDER BY e.creationTime ASC") 
Page<FacebookPost> findByCommentsHasNext(Pageable pageable); 

此外:

  1. 如何指定多個列默認排序?
  2. 如何指定計算的列,即涉及CASE WHEN或函數(可以在PostgreSQL中編制索引)?
+0

有趣的是,我試圖谷歌這一點,我發現我自己的問題在stackoverflow。你好我的過去:p –

回答

2

我不確定@SortDefault是您正在查找的內容,但您可以直接指定您希望使用存儲庫方法名稱的順序類型。例如,閱讀您的查詢,我會如下命名方法的東西:

Page<FaceBookPost> findByCommentHasNextOrderByCreationTimeAsc(Pageable pageable); 

如果你決定在其他地方,該場commentsPaging不能爲空,我不認爲有甚是需要一個@Query高於您的方法名稱,因爲Spring將自動執行併爲您執行查詢。

+0

謝謝!我不知道OrderBy可以在方法名稱中使用。但是,在我的情況下,我仍然在尋找可以使用@Query的通用解決方案 –

相關問題