【发布时间】:2017-10-24 12:11:14
【问题描述】:
我创建了一个自定义查询
@Repository
public interface SecurityQuestionRepository extends JpaRepository<SecurityQuestion, Integer>{
@Query("select q from SecurityQuestion q order by q.questionId asc limit 0, 3 ")
public List<SecurityQuestion> findQuestion();
}
当我调用服务并调用公共List<SecurityQuestion> findQuestion() 方法limit 0,3 不起作用
这里是休眠日志,
Hibernate: select securityqu0_.question_id as question1_4_, securityqu0_.question_desc as question2_4_ from user_security_question securityqu0_ order by securityqu0_.question_id asc
如何使此限制功能在此工作?
【问题讨论】:
-
JPQL 不支持“LIMIT”,因为任何基本的 JPA 文档都会告诉您
-
由于
limit这个关键字不被少数数据库厂商支持,主要是Oracle,我猜这就是JPQL中没有包含它的原因。使用Pageable,可以很方便的转换成ArrayList...:)
标签: spring hibernate spring-boot spring-data spring-data-jpa