2011-06-15 45 views
8

使用命令我使用Spring JPA的數據在我的項目一個RDBMS。我有一個要求,我必須從具有最新日期的表中從數據庫中獲取單個記錄。爲此,我需要使用限制和順序功能或使用子查詢。但是,我希望知道是否希望不要使用NamedQuery,有沒有一種方法可以使用Spring Data JPA和QueryDSL來實現此目的。如何通過和限制在Spring數據JPA使用QueryDSL

回答

11

不應該QueryDslPredicateExecutor.findAll(Predicate predicate, Pageable pageable)爲你做詭計嗎?你可以交上了一份new PageRequest(0, limit),因此還是會回到第一limit結果。

+0

感謝您的回答。我確實找到了它。它返回一個列表,但工作得很好。 – Abhishek 2011-06-16 17:36:21

+0

@Overver Gierke唯一的問題是它運行一個不必要的查詢來獲得計數。在這些情況下我只使用QueryDSL,但是一個LimitOne語法會很酷。發佈[這裏]的建議(https://jira.springsource.org/browse/DATAJPA-82?focusedCommentId=78956&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-78956) – 2012-05-17 19:22:38

+2

它確實不是如果你有一個返回類型的List而不是'Page'。 – 2012-05-18 09:11:14

1

如何使用MIN和MAX功能來實現這一點。

SELECT MAX(objDate) FROM Object 
+0

我希望不要使用任何命名查詢。通過使用名稱查詢它非常簡單,但我想知道是否有解決方法。 – Abhishek 2011-06-15 10:46:36

相關問題