> Having an open PC does not necessarily imply that backend database
connections or other resources are held (?) 

That is correct provided the transaction model is optimistic. The context
you described, that would be a natural choice. 

One of the key mechanics in OSIV is to reliably associate client session
with appropriate server-side persistence context. Different practices have
been employed to achieve this unique association.
 In such as model, if a "client session" CS is defined as a group of "client
transaction" i.e. CS = {CT1, CT2,....,CTn}. 
A CS is bound to a specific persistence context EM on the server side. The
lifetime of EM is bound to the lifetime of CS. Also CS begin/end corresponds
to EM transaction begin/commit. While, CT begin/end corresponds to EM flush.
Thus a series of operations in a single client session remains ACIDic on the
database as a single database transaction.

OpenJPA will acquire database connection on-demand (i.e when a flush is
required) and *not* during the entire lifetime of CS (provided we are in
optimistic transaction model). 

If the entities are versioned, then such connection-less paradigm will
warranty transactional integrity. It is also the key to scale persistent
services against concurrent clients with respect to database resources. 

-----
Pinaki Poddar
Chair, Apache OpenJPA Project
--
View this message in context: 
http://openjpa.208410.n2.nabble.com/Avoiding-detachment-aka-Open-Session-in-View-tp6618821p6622975.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Reply via email to