Well, my first thought is "ugh".

Personally I think that suggestion is actually a step backwards. Our current Hibernate implementation requires the same exact thing, each operation happens within a Transaction, but we are able to begin transactions in a lazy fashion and it's isolated within the Hibernate implementation code so that the rest of the code isn't littered with Roller.begin() statements everywhere.

If you look in the HibernatePersistenceStrategy class it's pretty easy to see what I mean. Any time one of the hibernate manager impl classes requests a Hibernate Session to do some work, a transaction is automatically started. Check out HibernatePersistenceStrategy.getSession()

Unless there is a *very* *very* strong reason why that can't be done in JDO then I would much prefer that we not revert to using a Roller.begin() method. The idea is that persistence is supposed to be transparent, and as soon as every time you work on an object you have to wrap it in a begin() and flush() method then that's not the case anymore =(

-- Allen


Dave Johnson wrote:
This is an interesting RFE from Craig Russell:
http://opensource.atlassian.com/projects/roller/browse/ROL-1156

Perhaps we could call this new method Roller.begin() ?

- Dave

Reply via email to