在grails中获取最后两条记录的有效方法?

时间:2016-09-16 09:40:55

标签: grails gorm

我有一个域名说

class Content{

  String content
  Date dateCreated
  Date lastUpdated

}

数据库中的内容记录很少。我想检索最新的两条记录。在Grails中查询两个最新记录的有效方法是什么?谢谢!

3 个答案:

答案 0 :(得分:8)

Content.list(max: 2, sort: "dateCreated", order: "desc")
有可能吗?

答案 1 :(得分:3)

无论你选择什么样的“武器”......都是

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功能,它不会在性能上留下任何痕迹。

答案 2 :(得分:2)

您可以将HQL查询写为 -

String queryString = "select content from Content order by lastUpdated desc"

List contentList = Content.executeQuery(queryString,[max: 2, offset: 0])