Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JPA谓词中同时使用OracleTrunc和NVL函数?_Java_Oracle_Jpa - Fatal编程技术网

Java 如何在JPA谓词中同时使用OracleTrunc和NVL函数?

Java 如何在JPA谓词中同时使用OracleTrunc和NVL函数?,java,oracle,jpa,Java,Oracle,Jpa,我有一个特定的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子句谓词。到目前为止,我已经想了一半,但仍然停留在sysdate+365部分。我特别需要获得数据库日期,因为我的应用程序

我有一个特定的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子句谓词。到目前为止,我已经想了一半,但仍然停留在sysdate+365部分。我特别需要获得数据库日期,因为我的应用程序当前日期和数据库当前日期可能不同

Predicate p = criteriaBuilder.greaterThan(
    criteriaBuilder.function("TRUNC", LocalDate.class, root.get(date_col)),
    criteriaBuilder.function("NVL", LocalDate.class, root.get(date_col))
);
我不知道如何获取sysdate+365并将其传递给criteriaBuiler。 有人能帮忙吗?由于公司限制,我无法发布完整的代码片段