У меня есть конкретный 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. Может кто-нибудь, пожалуйста, помогите здесь? Я не могу опубликовать полный фрагмент из-за корпоративных ограничений.