This is in regards to the JDBC interaction code I recently committed into the sandbox in SVN.
I am considering proxying the JDBC connections specifically for the purpose of auto-registering "subordinate objects" (result sets and statements) for automatic cleanup. Currently the registration is a manual process in order to take advantage of the automatic cleanup (have a look at org.hibernate.jdbc4.jdbc.impl.BasicWorkTest for the basic usage pattern). Specifically what I am thinking is taking a page from how app servers implement Connection handles in relation to data sources: public interface HibernateConnection extends java.sql.Connection { public Connection getWrappedConnection(); } Of course this makes it more difficult for anyone depending on casting to a particular driver's Connection impl at some point. But, considering that this is atypical usage, my thought was to treat it as the more complex use-case; and since this generally requires casting anyway, one extra cast and "extraction" is not that big of a deal to me. For example, to get an oracle connection (for LOB handling for example): ( ( OracleConnection ) connection ).doSomethingOracleSpecific() -> ( ( OracleConnection ) ( ( HibernateConnection ) connection ).getWrappedConnection() ).doSomethingOracleSpecific() Plus, would potentially allow for some other niceties like automatic statement logging (perhaps even with parameter replacement). Thoughts? _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev