可以使用.setMaxResults(1).getResultList()和@Query来限制查询结果 - 类似于:
@Query("SELECT l FROM LocationLog l WHERE l.visit = :visit ORDER BY l.eventTime").setMaxResults(1).getResultList()
public LocationLog findLast(@Param("visit") Visit visit);
此代码不正确,因为setMaxResults等在@Query之外?l
答案 0 :(得分:1)
您无法在@Query
注释中设置分页选项,但可以通过其他方式完成。您可以将方法声明更改为
public LocationLog find(@Param("visit") Visit visit, Pageable pageable);
然后,您将能够将其他参数传递给查询调用:
Pageable firstFive = new PageRequest(0, 5);
LocationLog locLog = locationLogDao.find(visit, firstFive);
还可以选择了解查询结果的当前上下文,您可以使用Page
接口更改方法返回类型为Page<LocationLog>
。您可以找到所有必要的信息here。