【发布时间】:2011-09-13 13:30:09
【问题描述】:
查询:我想知道如何在 Grails 中获取域实体的最新条目。
问题域:
class Parent {
String name
static hasMany = [children:Child]
}
class Child {
String name
Parent parent
static belongsTo = [parent:Parent]
}
数据模型
结果
我喜欢提取 id 为 4 和 7 的记录
critria 应该是“获取每个父母的最后一条记录,其中孩子的名字像 'Rox%'
到目前为止我已经尝试过
SELECT
MAX(id)
FROM child
WHERE parent_id IN(SELECT
p.id
FROM parent AS p
JOIN child AS c
ON (c.parent_id = p.id
AND c.name LIKE 'Rox%'))
GROUP BY parent_id
提前致谢。
【问题讨论】:
-
什么是“最后一条记录”?这是基于什么?
-
我用纯 sql 查询更新了问题。也许它有助于弄清楚我到底在寻找什么。谢谢
-
您是否有任何理由使用
id来查找最新记录,而不是使用dateCreated时间戳?前者似乎容易出错。 -
如果您的建议有效,我可以免费使用 dateCreated !实际上,我需要为每个满足条件的父对象最后插入子对象