Not the catchiest of titles but this was the problem I spent most of the day struggling with.
Try passing a java object to an oracle stored procedure and and it won’t work if you use a JDBC driver with pooled connections. However, call the DriverManager directly and it works.
For more detailed solutions please look at velocityreviews.com or forums.oracle.com