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

2023-11-11

异常重现:

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(); // 返回多条


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spring data jpa使用limit时,抛QuerySyntaxException unexpected token: limit 的相关文章

随机推荐