Spring Data JPA 中 @Query 默认不能使用 limit函数

Spring Data JPA 中 @Query 默认不能使用 limit函数

起因

在使用JPA时,想自己实现分页,所以使用了 @Query(“SELECT u FROM User u WHERE u.xxx=xxx limit 0,10”)
编译报错

由于原本并没有深入学习过Spring Data JPA ,而本项目中引入了这个技术,只有上网进行查询,原因是:
springdata-jpa的@query中写的sql叫JPQL,JPQL是不支持limit函数的。

若要使用原生SQL,可以手动开启;即 @Query 注解的 nativeQuery 属性设置为 true

@Query(nativeQuery=true, value = "select * from t_user limit 0,10")
XXX xxx();

参考文档:
https://blog.csdn.net/qq_23832313/article/details/82745486

官网文档:
https://docs.spring.io/spring-data/jpa/docs/2.1.5.RELEASE/reference/html/#jpa.query-methods.at-query

你可能感兴趣的:(问题记录,Spring技术)