我正在使用 JPA、Eclipse 链接、Oracle。我试图在我的 JPA 查询中引入一个条件,相当于以下 oracle 表达式
current_timestamp - NUMTODSINTERVAL(10, 'SECOND')
我尝试了几个类似于以下的查询
select u from User u where (current_timestamp - FUNC('NUMTODSINTERVAL', :offset, 'SECOND')) > u.birth_date
但无济于事。所有都会导致语法错误。我想避免本地查询以及使用 java 计算值。
我在一些甲骨文网站上发现了以下内容。
使用 Oracle 中的 add_months 函数,并使用简单的数学将月份值转换为秒。
如果以上是可能的,那么我将能够使用以下
Query query = entityManager.createQuery("select u"
+ " from User u"
+ " where"
+ " FUNC('add_months', CURRENT_TIMESTAMP, :offset) > u.birth_date "//)"//
);
query.setParameter("offset", getOffSet());
编辑:我需要一些 Eclipse 链接 JPA 方式来执行此操作或 Oracle 方式使用 add_months 可用于添加/减去秒。