The only other method in the Data interface that is allowed to run CALL statements is the updateMany() method. However, this method does not support returning OUT and INOUT parameters. It also does not support returning ResultSet objects.
Unlike other SQL statements that are supported by the methods in the Data interface, CALL statements can accept IN, INOUT, and OUT parameters. Some database management systems support returning update counts from the CALL statement, but that is not allowed by the SQL standard, and not directly supported by pureQuery. (You can get update counts if you use a CallHandlerWithParameters, however.) Finally, CALL statements can return no query results, one query result, or a number of query results.
Because SQL stored procedures can return between zero and many query results, you can use the CallHandlerWithParameters interface to write a custom method for processing the results or the StoredProcedureResult interface that contains defined methods for processing results.
If your database and JDBC driver support the return of update counts from the CALL statement, you must code a custom CallHandlerWithParameters interface to retrieve them.
Return types for the call() method of the Data interface: