> It appears that ResultSet.getObject(String name) returns Integer > for database type Types.SMALLINT (5) I expected Short.
I count on drivers complying with the published specification. The most recent version I was able to find near the top of a quick web search was this (the Final Release of the JDBC 4.0 Specification):
Take a look at the "Data Type Conversion Tables" in appendix B. In particular, table B-3 specifies which Java object class should be returned by the getObject methods for each JDBC type. To do as you request would break the applications of everyone who trusts the specification published through the Java Community Process.