Как использовать Oracle TRUN C и функцию NVL вместе в JPA Predicate? - PullRequest
1 голос
/ 12 марта 2020

У меня есть конкретный c Oracle запрос, который имеет следующее условие в предложении where:

SELECT col_a 
FROM table_x
WHERE TRUNC(NVL(date_col, sysdate + 365)) >
     TRUNC(TO_DATE('11-Jan-2001', 'dd-mon-yyyy'));

Я не могу понять, как использовать CriteriaBuilder для создания предложения where Predicate. До сих пор я разобрался на полпути, но застрял в sysdate + 365 part. Мне особенно нужно получить дату БД, поскольку текущая дата моего приложения и текущая дата БД могут различаться.

Predicate p = criteriaBuilder.greaterThan(
    criteriaBuilder.function("TRUNC", LocalDate.class, root.get(date_col)),
    criteriaBuilder.function("NVL", LocalDate.class, root.get(date_col))
);

Я не могу понять, как получить sysdate + 365 и передать его в attributeBuiler. Может кто-нибудь, пожалуйста, помогите здесь? Я не могу опубликовать полный фрагмент из-за корпоративных ограничений.

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