如何返回通过session.doReturningWork调用的数据库函数的对象类型?

时间:2018-08-24 04:04:51

标签: java stored-procedures jdbc

我正在使用session.doReturningWork调用数据库函数,但是CallableStatement需要使用registerOutParameter 预定义返回类型,但是我需要将Object.class作为返回类型-这是因为函数调用充满活力。

所以:

        Object result = session.doReturningWork( 
            connection -> {
            try (CallableStatement function = connection
                .prepareCall(
                    "{ ? = call " + functionName + "(?,?) }" )) {
                function.registerOutParameter( 1, Types.VARCHAR );

                for(int i = 1; i < values.length; i++){
                    log.debug("<Util.executePl> values..." + values[i]);
                      function.setObject( i+1, values[i] );
                }

                function.execute();
                return function.getString( 1 );
            }
        } );            

您可以看到输出参数是 Types.VARCHAR ,如何返回一个对象?

0 个答案:

没有答案