We are successfully using Hibernate with Oracle JDBC driver with prepared statement cache enabled. We had to raise open cursor limit in Oracle database as each cached prepared statement keeps one open cursor on the database. Ask you DBA for assistance.