Когда я пытаюсь перечислить элементы в JPQL или Native Query, мой список всегда возвращает 0 элементов.Когда я делаю запрос непосредственно в базе данных, запрос в порядке:
@Query(value = "SELECT xml FROM CapturaXml xml
JOIN xml.capturaDados dados ON dados.chnfe = xml.chnfe
WHERE xml.chnfe IN (:chnfes) AND dados.capturaCerts.cnpj = :cnpj")
Page<CapturaXml> findByCnpjInChnfes(@Param("cnpj") String cnpj, @Param("chnfes") List<String> chnfes, Pageable pageable);
Или этот код:
@Query(value = "SELECT xml FROM CAPTURA_XML xml
JOIN CAPTURA_DADOS dados ON dados.chnfe = xml.chnfe
WHERE dados.cnpj = :cnpj AND xml.chnfe IN (:chnfes)",
nativeQuery = true) Page<CapturaXml> findByCnpjInChnfes(@Param("cnpj") String cnpj, @Param("chnfes") List<String> chnfes, Pageable pageable);
Мой тест:
@Test
public void testBuscarPorCnpjEChnfes() {
List<String> chnfes = Arrays.asList(CHNFE1, CHNFE2, CHNFE3, CHNFE4);
@SuppressWarnings("deprecation")
PageRequest page = new PageRequest(0, 10);
Page<CapturaXml> xmls = this.capturaXmlRepository.findByCnpjInChnfes(CNPJ, chnfes, page);
assertEquals(4, xmls.getTotalElements());
}
Мойсписок проверок 0 элементов, но когда я добавляю List<CapturaXml> list = this.capturaXmlRepository.findAll();
элементы находятся внутри списка.
В чем проблема с моими запросами?
Obs: 1:Я пытался сделать Fetch Eager, но не решил проблему.