这是查询完全与mySQl一起工作但它不能用于hql名称查询任何人都可以帮助我感激
这是我的SQL
SELECT * FROM ( SELECT * FROM EsEvent ORDER BY eventTimestamp DESC ) e WHERE isReset=1 GROUP BY eventId;
这是我写的HQL名称查询。
FROM ( FROM EsEvent es ORDER BY es.eventTimestamp DESC ) EsEvent e WHERE e.isReset=1 GROUP BY e.eventId
但这不会起作用,而且会出现错误
无法创建sessionFactory对象:org.hibernate.HibernateException:命名查询中的错误:HQL_GET_ALL_ESEVENT_GROUP_BY_EVENT_ID_ORDER_BY_EVENT_TIMESTAMP_AND_RESET_ID_ONE
我的目的是在我评估我需要的where子句之前,任何人都可以帮助我。
答案 0 :(得分:0)
在HQL中尝试:
SELECT e FROM
(SELECT es FROM EsEvent es ORDER BY es.eventTimestamp DESC ) EsEvent e
WHERE e.isReset=1 GROUP BY e.eventId
但一个简单的方法是:
SELECT es FROM EsEvent es
WHERE es.isReset=1
GROUP BY es.eventId
ORDER BY es.eventTimestamp DESC
注意:
通常,在字段列表中使用GROUP BY
子句时,必须仅使用分组字段或聚合(按功能)字段