what' your JDBC version?
if it's pretty old, then upgrade to newest one is a bet.
Don't know if it could solve the problem, but old
version of JDBC did have some problem in transaction
handling, we've experienced such problem not so long
before.
regards laser