我正在尝试在Oracle DB中找到IN子句限制的解决方案
作为谓词的一部分,可能存在具有太多值的IN子句。 我想用原生sql替换那些IN子句
根据以下链接,可以将本机sql作为条件谓词的一部分嵌入
Using native sql in java criteria predicate
以下是我的方案。我试图用谓词SQL
替换谓词中的IN条件SELECT * FROM TABLE(来自DUAL的SELECT CAST(?AS NUMBERTABLE))
(OraclePreparedStatement) conn.prepareStatement(
"SELECT ENAME FROM EMP " +
"WHERE EMPNO IN (SELECT * FROM TABLE (SELECT CAST(? AS NUMBERTABLE) FROM DUAL))");
pstat.setARRAY(1, array_to_pass);
OracleResultSet rset = (OracleResultSet) pstat.executeQuery();
使用criteriaBuilder函数方法是否可行?