Существует простое обходное решение для этого ограничения, которое не требует функции обертки, просто обертывание самой логической функции в инструкции CASE
и использование Integer для привязки:
stmt = conn.prepareCall(
"BEGIN"
+ " ? := CASE WHEN (myBooleanFuncInOracle()) "
+ " THEN 1 "
+ " ELSE 0"
+ " END;"
+ "END;");
stmt.registerOutParameter(1, Types.INTEGER);
// exec
stmt.execute();
// get boolean from Integer
boolean myBool = (stmt.getInt(1) == 1);
Very полезно, если вы не можете или не хотите изменять свою функцию или даже не можете создать функцию-оболочку, то есть в старых DB.
MapTiler Desktop использовался для рендеринга, например, Disqus Universe . Это то, что вы ищете?