I think that at least Connection, Statement, PreparedStatement and ResultSet methods need to use synchronization.