This week's book giveaways are in the Refactoring and Agile forums. We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line! See this thread and this one for details.
The inheritance hierarchy for JDBC statements puzzles me a little. Specifically, why would PreparedStatement and CallableStatement want to inherit some of the methods of Statement?
For example, I tried the following:
I tried code similar to the above with MS SQL Server 2000 driver, only to be given an exception. Why does the JDBC API allow this behaviour? Is there ever a reason why you'd do such a thing? Is it a fair statement that some of the Statement methods should never be called on a PreparedStatement (and CallableStatement) instance?