我有一個域類說在grails中獲取最後兩條記錄的有效方法?
class Content{
String content
Date dateCreated
Date lastUpdated
}
有數據庫中的一些內容記錄。我想檢索最新的兩條記錄。在Grails中查詢兩條最新記錄的有效方法是什麼?謝謝!
我有一個域類說在grails中獲取最後兩條記錄的有效方法?
class Content{
String content
Date dateCreated
Date lastUpdated
}
有數據庫中的一些內容記錄。我想檢索最新的兩條記錄。在Grails中查詢兩條最新記錄的有效方法是什麼?謝謝!
是不是
Content.list(max: 2, sort: "dateCreated", order: "desc")
的可能性?
你可以寫一個HQL
查詢作爲 -
String queryString = "select content from Content order by lastUpdated desc"
List contentList = Content.executeQuery(queryString,[max: 2, offset: 0])
不管的 「武器」 你做出的選擇...
HQL查詢
def query = "SELECT content from Content order by lastUpdated desc"
def data = Content.executeQuery(query,[max: 2, offset: 0])
SQL查詢
SELECT * FROM table_name ORDER BY lastUpdated DESC LIMIT 2
的Grails個createCriteria:
def c = Content.createCriteria()
def results = c.list {
order("lastUpdated", "desc")
maxResults(2)
}
...最佳選擇的主要原則保持不變 - 順序遞減,並得到2個結果。
如果要檢索的數據如此微不足道,則不需要實際的SQL或HQL查詢。您可以使用Grails功能,它不會在性能上留下任何痕跡。
我不會主張任何這些方法。爲什麼不是'where'查詢? –
你在使用Hibernate嗎? –