【问题标题】:Random object from database with GORM使用 GORM 来自数据库的随机对象
【发布时间】:2012-09-02 20:01:35
【问题描述】:

我想只使用 GORM 从数据库中获取随机对象,而不使用数据库特定代码。

目前我正在使用这个:

Tag.executeQuery("from Tag order by rand()", [max: Tag.count()])

但我对此并不满意,因为我使用的是 mysql 的 rand() 函数。有人建议获取所有ID,然后随机选择一个,然后查询整个对象,但我不想要两个查询。

有没有 GORM 方法可以做到这一点?如果不是纯 GORM,那么也许 Hibernate 解决方案可以解决问题。

(我在这里看到过这个问题Grails GORM to return random rows from table?,但它没有帮助:))

【问题讨论】:

    标签: hibernate grails grails-orm


    【解决方案1】:

    您可以先获取一个随机偏移量,输入max:1,然后使用这些分页参数执行您的查询!
    (注意:你必须先在你的桌子上做一个count(),但这不是一个非常昂贵的操作。)

    【讨论】:

    • 我还没有时间测试它。但我会选择它作为答案:)
    猜你喜欢
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    相关资源
    最近更新 更多