Я использую JPA, ссылку Eclipse, Oracle. Я пытаюсь ввести условие в свой запрос JPA, эквивалентное следующему выражению оракула
current_timestamp - NUMTODSINTERVAL(10, 'SECOND')
Я пробовал несколько запросов, похожих на следующие
select u from User u where (current_timestamp - FUNC('NUMTODSINTERVAL', :offset, 'SECOND')) > u.birth_date
но безрезультатно. Все приводит к синтаксическим ошибкам. Я хочу избежать собственного запроса, а также вычисления значений с помощью java.
Я нашел следующее на каком-то веб-сайте оракула.
Используйте функцию add_months в Oracle и используйте простую математику, чтобы преобразовать значение месяца в секунды.
Если выше возможно, я смогу использовать следующие
Query query = entityManager.createQuery("select u"
+ " from User u"
+ " where"
+ " FUNC('add_months', CURRENT_TIMESTAMP, :offset) > u.birth_date "//)"//
);
query.setParameter("offset", getOffSet());
Изменить: мне нужен способ JPA для Eclipse link или способ Oracle, с помощью которого add_months можно использовать для добавления/вычета секунд.