JPA-эквивалент NativeQuery для нумерации страниц - PullRequest
0 голосов
/ 20 января 2020

Я пытаюсь выполнить разбиение на страницы, используя JPA Query, но это дает NoSuchElementException. Я преобразовал nativeQuery в JPA, но я предполагаю, что синтаксис где-то неправильный.

NativeQuery -

select * from cmaster c where c.category_master_id = 3 and c.status_master_id = 1
and c.activation_date between "2019-12-10 18:00:00" and "2019-12-26 18:00:00" or 
(c.deactivation_date between "2019-12-10 18:00:00" and "2019-12-26 18:00:00" and 
c.category_master_id = 3 and c.status_master_id = 2) order by c.id desc;

JPA-запрос, который я написал -

Page<CiMaster> findByActivationDateBetweenOrDeactivationDateBetweenAndCiStatusMasterAndCiCategoryMaster(Date start_date, Date end_date, CiStatusMaster ciStatus, CiCategoryMaster ciCategory, Pageable pageable);

Ошибка, которая Я получаю -

    java.util.NoSuchElementException: null
        at java.util.ArrayList$Itr.next(ArrayList.java:862) ~[na:1.8.0_181]
        at org.springframework.data.jpa.repository.query.ParameterMetadataProvider.next(ParameterMetadataProvider.java:92) ~[spring-d
ata-jpa-1.7.0.RELEASE.jar:na]
        at org.springframework.data.jpa.repository.query.JpaQueryCreator$PredicateBuilder.build(JpaQueryCreator.java:244) ~[spring-da
ta-jpa-1.7.0.RELEASE.jar:na]
        at org.springframework.data.jpa.repository.query.JpaQueryCreator.toPredicate(JpaQueryCreator.java:146) ~[spring-data-jpa-1.7.
0.RELEASE.jar:na]
        at org.springframework.data.jpa.repository.query.JpaQueryCreator.and(JpaQueryCreator.java:96) ~[spring-data-jpa-1.7.0.RELEASE
.jar:na]
        at org.springframework.data.jpa.repository.query.JpaQueryCreator.and(JpaQueryCreator.java:44) ~[spring-data-jpa-1.7.0.RELEASE
.jar:na]
        at org.springframework.data.repository.query.parser.AbstractQueryCreator.createCriteria(AbstractQueryCreator.java:109) ~[spri
ng-data-commons-1.9.0.RELEASE.jar:na]
        at org.springframework.data.repository.query.parser.AbstractQueryCreator.createQuery(AbstractQueryCreator.java:88) ~[spring-d
ata-commons-1.9.0.RELEASE.jar:na]
        at org.springframework.data.jpa.repository.query.PartTreeJpaQuery$QueryPreparer.createQuery(PartTreeJpaQuery.java:126) ~[spri
ng-data-jpa-1.7.0.RELEASE.jar:na]
        at org.springframework.data.jpa.repository.query.PartTreeJpaQuery.doCreateCountQuery(PartTreeJpaQuery.java:83) ~[spring-data-
jpa-1.7.0.RELEASE.jar:na]
        at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createCountQuery(AbstractJpaQuery.java:190) ~[spring-data-j
pa-1.7.0.RELEASE.jar:na]

Пожалуйста, кто-нибудь, помогите мне написать правильный JPA-запрос для PAGINATION. Обратите внимание, что у меня есть 2 типа c .status_master_id, один для активации и другой для деактивации.

...