Собственный запрос Spring Boot возвращает другой набор результатов при выполнении непосредственно в SQL Navigator

#spring-boot #jpa #spring-data-jpa

#пружинный ботинок #jpa #весна-данные-jpa

Вопрос:

Я использую собственный запрос для получения определенного набора результатов, так как при использовании LIMIT в JPA возникает конфликт. Когда я вызываю метод с помощью spring-boot, я получаю 1 строку, но когда я выполняю команду SQL напрямую, я получаю 5 строк. Я думаю, что это проблема с собственным запросом JPA, он всегда возвращает 1 строку.

 @Query(value = "SELECTn"     " DISTINCT pt1.******n"     " FROMn"     " ***** ptvt1 n"     " INNER JOINn"     " **** pt1 n"     " ON ptvt1.****** = pt1.id n"     " WHEREn"     " pt1.id IN (n"     " SELECTn"     " ptvt2.****** n"     " FROMn"     " ***** ptvt2 n"     " INNER JOINn"     " ***** pt2 n"     " ON ptvt2.****** = pt2.id n"     " WHEREn"     " ptvt2.******** = ptvt1.******** n"     " ORDER BYn"     " pt2.executiondate DESC LIMIT 1 n"     " ) n"     " AND NOT EXISTS (n"     " SELECTn"     " ptvt3.* n"     " FROMn"     " ***** ptvt3 n"     " INNER JOINn"     " ***** pt3 n"     " ON ptvt3.****** = pt3.id n"     " WHEREn"     " ptvt3.******** = ptvt1.******** n"     " AND (n"     " pt3.status = 'OK' n"     " OR pt3.status = 'CREATED' n"     " OR pt3.status = 'PENDING' n"     " OR pt3.status = 'VOID' n"     " ) n"     " )", nativeQuery = true) Listlt;Stringgt; find*****();   

Комментарии:

1. Обновил его, но мне все же нужно замаскировать столбцы.

2. Списокlt;Строкаgt; найти*****()

3. Я не думаю, что ОГРАНИЧЕНИЕ 1 должно повлиять на него, так как это подзапрос, поэтому я в первую очередь использую NativeQuery.