spring data jpa使用limit时,抛QuerySyntaxException unexpected token: limit
异常重现:jpql语句如下:select g from Entity g where g.codeUrl = :codeUrl ORDER BY g.createTime DESC limit 1异常原因:limit是特定于某些数据库(例如:mysql),但HQL是针对所有hibernate支持的数据库,也就是说,Mysql的限制返回记录数是limit,也许其他的数据库则不是limit
·
异常重现:
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(); // 返回多条
更多推荐
已为社区贡献1条内容
所有评论(0)