When Spring catches an SQLException, does it close the prepared statement, result set, and/or connection before throwing it\'s own DataAccessException (runtime) exception?
Yes.
That's the whole point of JdbcTemplate
- it handles all kinds of boilerplate actions including release of all resources. See 12. Data access with JDBC.
I think your developer should take a look at springs transaction managemant capabilities. You can use AOP to advice logging, rollback behavior and even retry or other exception handling actions to react completly declarative.