PL/SQL is native to oracle so it is faster. Oracle is one of the biggest supporters of java and will make it faster (my friend at oracle is working on that as i write this). But what i don't like about calling pl/sql procedures with a callable statement, is it's harder to debug, harder to maintain, and your application just became vendor specific. If you switch databases, then normally all you have to do is change parameters for the
JDBC call. What also sucks is when new logic has to be implemented,
testing and debugging becomes even more of a pain.
I would use PL/SQL if i where a DBA or an application developer using oracle forms and reports.