We get the same issue - the BundleDBPersistenceManager uses the ConnectionHelper via getConnection() and this always sets autoCommit to true. I'm using a Spring transaction - and this causes a similar error to the error in the description.
org.apache.jackrabbit.core.state.ItemStateException: failed to read bundle: fa395a84-99e0-46c1-8d89-ff62c3f6c4d9: java.sql.SQLException: You cannot set autocommit during a managed transaction!
When can use "NOT_SUPPORTED" but I'd prefer not to for obvious reasons.
Perhaps there is a way to use XASessions to do this and I'd love a link to the doco on how, but can we turn off autoCommit via an option when not running in a cluster?