Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa 使用@Query anotations限制结果集_Jpa_Spring Data - Fatal编程技术网

Jpa 使用@Query anotations限制结果集

Jpa 使用@Query anotations限制结果集,jpa,spring-data,Jpa,Spring Data,我有一个要限制结果集大小的查询。由于JPA不支持“限制”,我一直在努力找出正确的方法。我试过: @Query("SELECT w FROM WardTransaction w WHERE w.visit = :visit ORDER BY w.admissionDateTime DESC").setMaxResults(1) public WardTransaction findCurrent(@Param("visit") Visit visit); 这是不正确的。我只是想找一些关于正确语法

我有一个要限制结果集大小的查询。由于JPA不支持“限制”,我一直在努力找出正确的方法。我试过:

@Query("SELECT w FROM WardTransaction w WHERE w.visit = :visit ORDER BY w.admissionDateTime DESC").setMaxResults(1)
public WardTransaction findCurrent(@Param("visit") Visit visit);
这是不正确的。我只是想找一些关于正确语法的指导

我的存储库代码是:

@Query("SELECT w FROM WardTransaction w WHERE w.visit = :visit ORDER BY w.admissionDateTime DESC")
上面是查询方法定义,要在查询中设置MaxResult,需要使用Pageable对象,如下所示

    @Query("SELECT w FROM WardTransaction w WHERE w.visit = :visit ORDER BY w.admissionDateTime DESC")
public void List<Entities> findAll(Pageable pageable) 
PageTable和SimpleParepository的组合是解决方案

看一看


如果您使用的是EntityManager和NamedQueries,则会有一个方法setMaxResult应用于查询对象,但情况不同。

实际上,我有一个存储库类-我不确定这是否有帮助?我将看一看引用..是的,您正在应用方法上方的@Query,请尝试使用我推荐的SimpleJpa和Pageable进行更改
    Pageable pageSpecification = PageRequest(int page, int size)