获取 Grails 列表中的第一个元素

发布于 2024-10-29 09:24:47 字数 248 浏览 1 评论 0原文

如何获取从命令 .list() 返回的 Grails 对象列表中的第一个元素,但不使用 Java 方法。我的意思是,在调用 .list() 时,我们是否有任何选项可以选择顶部元素,类似于 SQL 查询 SELECT TOP FROM 。

我不喜欢使用这个:

List domains = Domain.list()
return domains.get(0)

因为它会占用太多内存资源。 太感谢了!

How can I get the first element in Grails list of object return from command .list(), but not use Java method. I means that do we have any option to select the top element when call .list(), similar to the SQL query SELECT TOP FROM .

I don't like using this:

List domains = Domain.list()
return domains.get(0)

Becayse it causes memory resources so much.
Thank you so much!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

老子叫无熙 2024-11-05 09:24:47

一种快速的方法是将 max 参数与 list 一起使用,

Domain.list([max:1])

或者您可以使用我相信的 Criteria 查询:

def domainCriteria = Domain.createCriteria()
def firstDomain = domainCriteria.list{
    maxResults( 1 )
    order( 'id', 'asc' )
}[0]

A quick way is to use the max parameter with list

Domain.list([max:1])

Or you could use a Criteria query I believe:

def domainCriteria = Domain.createCriteria()
def firstDomain = domainCriteria.list{
    maxResults( 1 )
    order( 'id', 'asc' )
}[0]
忆离笙 2024-11-05 09:24:47

Grails 2.1.1 开始,first()last() 方法已添加。

def firstResult = Domain.first()

def lastResult = Domain.last()

As of Grails 2.1.1, first() and last() methods have been added.

def firstResult = Domain.first()

and

def lastResult = Domain.last()
楠木可依 2024-11-05 09:24:47

另一种方法是使用 find,它返回第一个结果,如果表为空,则返回 null。

User.find("from User")

如果您想要多个,也可以使用findall带有最大参数,

User.findAll("from User", [max: 10])

如果您真的只想从表中使用任何对象,那么list可能是您的最佳选择,但是在大多数情况下,使用此类疑问,您想将其限制在上面,而不是HQL可以使它变得非常容易。

Another way to do it is with find, which returns the first result, or null if the table is empty.

User.find("from User")

If you want more than one, you can also use findAll with a max parameter

User.findAll("from User", [max: 10])

If you truly want just any object from the table, then list is probably your best bet, but most of the time, with these kinds of queries, you want to constrain it a bit more than that and going to HQL can make that very easy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文