您的位置:首页 > 编程语言 > Java开发

spring data jpa使用limit时,抛QuerySyntaxException unexpected token: limit

2017-04-10 16:51 549 查看
异常重现:

jpql语句如下:

select g from Entity g where g.codeUrl = :codeUrl ORDER BY g.createTime DESC limit 1
异常原因:

limit是特定于某些数据库(例如:mysql),但HQL是针对所有hibernate支持的数据库,也就是说,Mysql的限制返回记录数是limit,也许其他的数据库则不是limit(例如:Oracle)

解决方法:

那Jpa中怎么限制返回的记录数了?

Query query = entityManager.createQuery("select g from Entity g where g.codeUrl = :codeUrl ORDER BY g.createTime DESC");
query.setParameter("codeUrl", codeUrl);
return (Entity) query.setMaxResults(1).getSingleResult();// 仅返回一条记录
// query.setMaxResults(5).getResultList(); // 返回多条
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐