日期:2014-05-18  浏览次数:21069 次

hibernate hql如何查询满足条件的第一条记录
以前用sql时可以写上一个top 1 就能返回一个查询结果,可是好像hql里没有这个呀
现在的需求是必须写在hql语句里,不能使用setFirstResult等
------解决方案--------------------
我查了,网上也没有解决方案,用hql是解决不了的;

要么,你针对具体的数据库,写sql语句;
要么,得到查询结果的list后,再做处理。
------解决方案--------------------
经过本人上网查询,这是不可能实现的。

要么查询list,只取第一条;
要么写sql语句,用函数实现;
------解决方案--------------------
只能写个完整的SQL语句,HQL没有这个解决方案。
------解决方案--------------------
hibernate的 setFirstResult 和 setMaxResult 能够兼容一些数据库。 如果你用hql
你直接用你使用的数据库的分页关键字  mysql用limit oracle用rowcount  sqlserver 用 top