CallableStatement
позволяет использовать общий синтаксис JDBC для вызова процедур, а не специфичный для базы данных.
К сожалению, мы не делали этого для Oracle в одном из проектов, над которым я работал, поэтому все наши вызовы процедур выглядят примерно так:
String query = "begin package.sp_Procedure(?, ?); end;";