我的查询
@Query("select cnt from Content cnt order by
CASE WHEN cnt.status = 'rejected' THEN '1'
WHEN cnt.status = 'modified' ELSE cnt.status END ASC")
如何添加限制 0,100 行来添加query
?
我写了以下格式,但是从database
@Query("select cnt from Content cnt
order by CASE WHEN cnt.status = 'rejected' THEN '1'
WHEN cnt.status = 'modified' ELSE cnt.status END ASC limit 0,100")
答案 0 :(得分:3)
我写了一篇类似帖子here的答案。在您的情况下,查询将是您编写的第一个,但您必须将Pageable对象作为参数传递。假设您已阅读链接的答案,并且知道您的存储库应该扩展JpaRepository
或PagingAndSortingRepository
,它将如下所示:
@Query("select cnt from Content cnt
order by CASE WHEN cnt.status = 'rejected' THEN '1'
WHEN cnt.status = 'modified' ELSE cnt.status END ASC")
public List<Content> getContents(Pageable pageable);
答案 1 :(得分:0)
您可以使用分页(这在JPA中可用,在Hibernate中也可用作JPA提供程序)
<强>休眠强>:
Query query = session.createQuery("..YOUR QUERY HERE...");
query.setFirstResult(0);
query.setMaxResults(100);
List<Content> contentList = query.list();
JPA Query也支持setFirstResult
和setMaxResults
方法。
答案 2 :(得分:0)
使用:
@Query("....")
List<Object> countLimited(..., Pageable pageable);