Make org.springframework.jdbc.datasource.DataSourceTransactionManager extendable
I need to change how this class does begin, commit and rollback transaction due to a legacy sybase database (do "Begin transaction" rather than "Set chained mode on").
Ideally I should be able to extend the class and override doBegin(), doCommit() and doRollback(), but because the inner class DataSourceTransactionObject is private this is not possible.
Make inner class DataSourceTransactionObject proteced so it is accessible for subclasses.
DataSourceTransactionObject is intentionally private since it conceals some rather specific settings. For overriding purposes at doBegin/doCommit/doRollback level, could you cast the transaction object to its common supertype JdbcTransactionObjectSupport? This should be sufficient as long as you're not dealing with pre-bound non-transactional connection holders (which is very uncommon) or restoring an auto-commit setting.