Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
Spring JPA的分页排序问题_Spring_Hibernate_Jpa_Spring Data Jpa - Fatal编程技术网

Spring JPA的分页排序问题

Spring JPA的分页排序问题,spring,hibernate,jpa,spring-data-jpa,Spring,Hibernate,Jpa,Spring Data Jpa,我和SpringJPA讨论了一个关于排序和分页的问题。目前我收到以下警告: WARN [NamedQuery] (NamedQuery.java:65) - Finder method public abstract org.springframework.data.domain.Page loc.starterkit.business.entities.application.repository.ApplicationRepository.findByNameLike(java.la

我和SpringJPA讨论了一个关于排序和分页的问题。目前我收到以下警告:

WARN [NamedQuery] (NamedQuery.java:65) - Finder method public abstract     org.springframework.data.domain.Page loc.starterkit.business.entities.application.repository.ApplicationRepository.findByNameLike(java.lang.String,org.springframework.data.domain.Pageable) 
is backed by a NamedQuery but contains a Pageable parameter! Sorting delivered via this Pageable will not be applied!
我的JPA接口代码如下所示:

public interface ApplicationRepository extends PagingAndSortingRepository<Application,Long>{

Page<Application> findByNameLike(String name, Pageable pageable);
}

将PagingAndSortingRepository更改为JPARepository似乎会引发相同的警告。但是,经过一些测试,我发现这个警告毫无意义。事情似乎进展顺利:

Hibernate: 
/* select
    count(*) 
from
    Application as generatedAlias0 
where
    generatedAlias0.name like :param0 */ select
        count(*) as col_0_0_ 
    from
        APPLICATION applicatio0_ 
    where
        applicatio0_.NAME like ?
Hibernate: 
/* select
    generatedAlias0 
from
    Application as generatedAlias0 
where
    generatedAlias0.name like :param0 
order by
    generatedAlias0.name asc */ select
        applicatio0_.ID as ID0_,
        applicatio0_.DESCRIPTION as DESCRIPT2_0_,
        applicatio0_.NAME as NAME0_ 
    from
        APPLICATION applicatio0_ 
    where
        applicatio0_.NAME like ? 
    order by
        applicatio0_.NAME asc limit ?

所以我认为这个警告没有任何意义,但我想知道为什么会发出它

你能发布你的
应用程序
实体吗?另外,为什么您要扩展
PagingAndSortingRepository
而不是
JpaRepository
(这是
PagingAndSortingRepository
的扩展)?遇到了相同的问题。对此有任何解决方法吗?您如何知道可分页返回内容/为空?
@Entity
@Table(name="APPLICATION")
public class Application {

@Id
@Column(name="ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;

@Column(name="NAME")
private String name;

@Column(name="DESCRIPTION")
private String description;

public Application() {
    super();
}

.... (getters and setters here)
Hibernate: 
/* select
    count(*) 
from
    Application as generatedAlias0 
where
    generatedAlias0.name like :param0 */ select
        count(*) as col_0_0_ 
    from
        APPLICATION applicatio0_ 
    where
        applicatio0_.NAME like ?
Hibernate: 
/* select
    generatedAlias0 
from
    Application as generatedAlias0 
where
    generatedAlias0.name like :param0 
order by
    generatedAlias0.name asc */ select
        applicatio0_.ID as ID0_,
        applicatio0_.DESCRIPTION as DESCRIPT2_0_,
        applicatio0_.NAME as NAME0_ 
    from
        APPLICATION applicatio0_ 
    where
        applicatio0_.NAME like ? 
    order by
        applicatio0_.NAME asc limit ?