If you are borrowing the connection from Hibernate (a questionable practice, to be sure), then be aware that JDBC Connection transactions are much faster than Hibernate Session transactions. In our application, Session.getTransaction().commit() took almost a second when stepping over it in the debugger -- and that is when the only work done was a query.