Нет результата для собственного запроса в jpa - PullRequest
0 голосов
/ 28 ноября 2018

Я создал собственный запрос следующей формы -

@Query(value="SELECT * FROM ORDER_DETAILS WHERE ORDER_ID IS NULL AND tag = ?2 AND CREATED_DATE >= ?3 AND STATUS IN ?1",nativeQuery=true)
    List<Order> findCases(String status, String tag, Date date);

, где в моем случае параметры выглядят следующим образом -

String status="('ACCEPTED')";
String tag="0";
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, -5);
Date date =c.getTime();

При выполнении запроса я не очищаю вывод.Но когда я выполняю тот же запрос (написанный ниже) для Oracle, я получаю требуемый результат.

SELECT * FROM ORDER_DETAILS WHERE ORDER_ID IS NULL AND TAG = '0' AND CREATED_DATE >='23-11-2018'  AND ORDER_STATUS IN ('ACCEPTED');

Может кто-нибудь сказать, что я сделал не так?

1 Ответ

0 голосов
/ 28 ноября 2018

Если вы хотите использовать предложение в , тогда нет особого смысла в использовании одной строки в качестве параметра.

@Query(value="SELECT * FROM ORDER_DETAILS WHERE ORDER_ID IS NULL 
                  AND tag = ?2 AND CREATED_DATE >= ?3 
                     AND STATUS IN ?1", nativeQuery=true)
List<Order> findCases(List<String> statuses, String tag, Date date);

List<String> statuses = new ArrayList<>();
statuses.add("ACCEPTED");
String tag="0";
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, -5);
Date date = c.getTime();

List<Order> order = repo.findCases(statuses, tag, date);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...