Hello,
I do not Know If you solved your problem already but Hibernate3 does not work with dbcp anymore so you need to use a custom connection Provider. I have the same problem, but found this provider at hibernate wiki
http://wiki.apache.org/jakarta-commons/DBCP/Hibernate
Try it, but it does not work with transactions. If you have more than 2 different calls to saveOrUpdate it gets more than one conection so when you call to session.commit it does not found an openned connection wich cause and error. I am still working on this error