我想知道是否可以在hibernate条件中查询指定小时数的表。例如,我有mysql查询
SELECT * FROM eventlog WHERE HOUR(CREATED_AT) BETWEEN 8 AND 16
AND CREATED_AT BETWEEN '2013-01-01 11:00:00' AND '2013-01-08 11:00:00'
我想在标准中转换:
criteria.add(Property.forName("HOUR(created_at)").between(8, 16));
criteria.add(Property.forName("created_at").between('2013-01-01 11:00:00', '2013-01-08 11:00:00'));
它必须非常简单,但我真的很喜欢这个。
我将不胜感激任何帮助。 THX
答案 0 :(得分:0)
看看这个example,他们会做一些类似于你问题的事情。
答案 1 :(得分:0)
好吧,我找到了一个可能的解决方案。虽然必须有另一种方法,但我会把它放在这里供您参考。
String sql = "HOUR(CREATED_AT) BETWEEN 8 AND 16";
criteria.add(Expression.sql(sql));