grails首先找到

sri*_*ath 11 grails

我知道这是一个简单的问题,但需要更多时间

如何从grails中的表中查找第一条记录.

我需要知道id号码才能获得第一条记录.

有没有像find这样的方法:先用grails?

提前致谢 .

arc*_*ree 14

更新到Grails 2.1.1或更高版本为GORM添加了两个新方法(第一个和最后一个)来解决这个所需的功能.

来自文档:

class Person {
    String firstName
    String lastName
    Integer age
}

// retrieve the first person ordered by the identifier
def p = Person.first()
// retrieve the first person ordered by the lastName property
p = Person.first(sort: 'lastName')

// retrieve the first person ordered by the lastName property
p = Person.first('lastName')
Run Code Online (Sandbox Code Playgroud)


Dan*_*ser 4

好吧,你必须以什么标准来定义这个记录应该是“第一”。

假设您指的是具有最早创建时间戳的记录,最简单且最可靠的方法是将属性添加dateCreated到您的域类,然后查询具有最低此类日期的实体。事实上,您甚至不必手动设置创建日期,因为 Grails 会为您完成此操作(只要您命名该属性dateCreated) - 请参阅Grails 文档中的自动时间戳。

HQL 查询类似于:

def firstObject = YourClass.find("FROM YourClass ORDER BY dateCreated")
Run Code Online (Sandbox Code Playgroud)