我想只使用 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?,但它没有帮助:))