When I reviewed your work earlier last week, I had the feeling that we would need to replace JdbcSession with something totally different. OGM Loader / Persisters would then use that different contract.
The idea of a generic DataStoreSession is attractive. But something I am not clear on is how the generic parameter of Operation will be used. How can a Loader or Persister invoking DataStoreSession.accept() retrieves the results? Will it be ResultSet or some agnostic container too? Emmanuel On Sat 2013-12-14 11:53, Steve Ebersole wrote: > As Gail and I discussed the actual API to use in this JdbcSession > redesign we both liked the idea of sending Operations in to the > JdbcSession rather than JdbcSession exposing a very granular, JDBC-like > API. This got me to thinking that JdbcSession really could be a generic > representation of a connection+transaction context for *any* back end, > whether that back-end was JDBC or not. > > I discussed this idea a bit with Sanne on IRC. He was on board in the > general sense. > > So this morning I spent some time re-working the code to express this > concept. I just pushed this out to my repo. The main contract now is > org.hibernate.resource.store.DataStoreSession. The JDBC realization of > this contract is defined by > org.hibernate.resource.store.jdbc.JdbcSession (which extends the > DataStoreSession). > > The nice thing is that this all ties in seamlessly with the > TransactionCoordinator. There is a notion of "resource local > transactions" and "jta transactions". "resource local transactions" > ultimately come from the DataStoreSession which allows integrating > back-end specific notions of transactions by implementing a > org.hibernate.resource.transaction.ResourceLocalTransaction for that > back end (org.hibernate.resource.store.jdbc.spi.PhysicalJdbcTransaction > for example for JDBC). > > Anyway, it was a nice exercise even if y'all decide to not use this in > OGM. It forced me to think about the separation between the 2 main > packages (org.hibernate.resource.transaction versus > org.hibernate.resource.store) and to remove the cyclic deps. > _______________________________________________ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev