如何在SQL / Hibernate / GORM中创建这种查询?

时间:2014-06-23 20:24:41

标签: sql hibernate grails gorm

GORM的初始实现类似于

def stuff = Table.find { active = true }

假设我们存储了不同的"修订版"并且只有一个版本可以在当时激活。

问题是当您创建最初未处于活动状态的新表时。我想要活动的,或者如果没有活动的话,我想要最新的那个。

您如何创建一个类似于以下内容的查询: 对于每种类型的表(选择在修订版之间共享的不同someId),请为我提供有效的修订版,或者,如果没有,则为我提供最近创建的版本。

这个问题超出了GORM的能力吗?我该怎么读?

1 个答案:

答案 0 :(得分:0)

这并不总是通过单个查询返回结果,但我相信它将满足您的要求:

def stuff = Table.findByActive(true) ?: Table.first()