[SPRING] 봄 사양 및 Pageable를
SPRING봄 사양 및 Pageable를
어떻게 사양 및 Pageable를 함께 사용할 수 있습니까?
personelRepository.java
@Query("SELECT e FROM PersonelEntity e ")
List<PersonelEntity> findData(Specification<PersonelEntity> test, Pageable pageable);
personelService.java
public List<PersonelEntity> filteredData(Specification<PersonelEntity> filter,Pageable pageable){
List<PersonelEntity> filteredData = personelRepository.findData(filter,pageable);
return filteredData;
}
personelController.java
Pageable reqCount = new PageRequest(0, 10);
Specification<PersonelEntity> filter = new FilterSpecification<PersonelEntity>(new SearchCriteria("name", "=","lux"));
personels = personelService.findData(filter,reqCount);
내가 그것을 실행하면이 같은 오류가 발생합니다. 내가 findall은 (Pageable를 페이지)와 findall은 (규격 필터)와 같은 별도 () 함수 findall은 전화를하지만 그것은 작동합니다. 그러나 나는 그것을 함께 사용할 수 없습니다.
java.lang.IllegalArgumentException: Parameter with that position [1] did not exist
at org.hibernate.jpa.spi.BaseQueryImpl.findParameterRegistration(BaseQueryImpl.java:502) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
at org.hibernate.jpa.spi.BaseQueryImpl.setParameter(BaseQueryImpl.java:692) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
at org.hibernate.jpa.spi.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:181) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
at org.hibernate.jpa.spi.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:32) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
at org.springframework.data.jpa.repository.query.ParameterBinder.bind(ParameterBinder.java:141) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.StringQueryParameterBinder.bind(StringQueryParameterBinder.java:61) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.ParameterBinder.bind(ParameterBinder.java:101) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.SpelExpressionStringQueryParameterBinder.bind(SpelExpressionStringQueryParameterBinder.java:69) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.ParameterBinder.bindAndPrepare(ParameterBinder.java:161) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.ParameterBinder.bindAndPrepare(ParameterBinder.java:152) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.doCreateQuery(AbstractStringBasedJpaQuery.java:81) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createQuery(AbstractJpaQuery.java:190) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:121) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:85) ~[spring-data-jpa-1.11.1.RELEASE.jar:na]
해결법
-
==============================
1.편집 personelService.java에 의해 해결하고 personelRepository에 findData에게 기능을 삭제합니다. 나는 springframework.data.jpa.repository.JpaRepository findall은 () 함수를 사용하고 작동합니다.
편집 personelService.java에 의해 해결하고 personelRepository에 findData에게 기능을 삭제합니다. 나는 springframework.data.jpa.repository.JpaRepository findall은 () 함수를 사용하고 작동합니다.
public List<PersonelEntity> filteredData (Specification<PersonelEntity> spec, Pageable pageable){ Page<PersonelEntity> pageData = personelRepository.findAll(spec,pageable); List<PersonelEntity> filteredData = pageData.getContent(); return filteredData; }
from https://stackoverflow.com/questions/43447687/spring-specification-and-pageable by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] CrudRepository에서 사용자 지정 SQL 쿼리 (0) | 2019.10.04 |
---|---|
[SPRING] 잭슨을 사용하여 자바에 POJO로 JSON 변환하는 방법 (0) | 2019.10.04 |
[SPRING] 어떻게 잭슨 objectmapper에 dateformat 설정 봄에 MVC 설정을 추가하는 방법은 무엇입니까? (0) | 2019.10.04 |
[SPRING] 내 스프링 JPA 통합 테스트를 위해 일을 @Rollback를 가져올 수 없습니다 (0) | 2019.10.04 |
[SPRING] OFFSET 봄 데이터 Pageable를하고 LIMIT / (0) | 2019.10.04 |