CallableStatement allows you to use the general JDBC syntax for call procedures, rather than database specific.
Unfortunately, we did not do this for Oracle in one of the projects that I worked on, so all of our procedure calls look something like this:
String query = "begin package.sp_Procedure(?, ?); end;";
source share