return句で指定されたパラメーターは、通常の出力パラメーター(getReturnResultSetとgetResultSetとcallablestatementの戻りパラメーター)とは異なる方法で処理されるためです。
これらはOraclePreparedStatementで処理する必要があります。 2番目のケースでは、insertステートメントをbegin..endでラップすると、挿入はデータベース自体によって処理され、aljdbcは匿名のplsqlブロックを認識します。
http://docs.oracle.com/cd/E11882_01 /java.112/e16548/oraint.htm#BABJJDDA