您的位置:首页 > 数据库

hql先排序后分组(查询分组中的最新)(hql 执行原生态sql)

2015-01-13 23:34 330 查看
如果用这种方法进行查询:

String queryString = "select * from (select * from resource r order by r.createTime desc) t group by t.resId";
Query query = entityManager.createQuery(queryString);


会报错,因为Hibernate不支持这种查询。

select * from (select * from resource r order by r.createTime desc) t group by t.resId
是原生态的sql查询。

所以可以利用:

Query query = entityManager.createNativeQuery(queryString, Resource.class);


createNativeQuery来创建一个实例的查询执行一个原生SQL查询。

注意:查询语句必须使用的是原生的sql。而有时实体名和表名会不一致,这时就需要注意一些。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: