我有几个域类,每分钟都会生成大量数据集。像这样:

class Foo{
    String name
    Date received
    int value
}

我想完成此MySQL查询返回的相同结果集:
SELECT * FROM foo WHERE received BETWEEN ? AND ? AND MINUTE(received) = ?

使用NamedQuery或findAllBy ...可能吗?

谢谢。

最佳答案

好吧,由于HQL确实提供了微小的功能,所以我自己就能找到解决方案。由于Foo是许多其他类的一部分,因此我希望为所有这些类提供通用方法。无论如何,这是Foo和 friend 的解决方案:

clazz.executeQuery(
'from ' + clazz.getSimpleName() + ' c where c.received between :from and :to
and minute(received) = :period', [from:d1, to:d2, period:0])

无论如何,谢谢唐。

10-08 13:33