nice to compare it with SVN ;-)
Thanks!

On Mon, Jul 25, 2011 at 6:09 PM, Robert Zeigler
<[email protected]> wrote:
> Transactions start at "commitChanges".  Cayenne's feel is much more like svn 
> to me than hibernate.  You "check out" objects (fetch them from the db) to 
> your working "directory" (the object context).  You modify them, delete them, 
> add new ones, etc.  Then a call to "commitChanges" sends everything back to 
> the db in a single transaction, very much analogous to svn commit.  And 
> rollbackChanges is very much analogous to svn -R revert .
>
> Robert
>
> On Jul 25, 2011, at 7/2511:01 AM , Christian Grobmeier wrote:
>
>>> Since ObjectContext (server or ROP client) is a "disconnected" object in 
>>> Cayenne transactions are something different compared to say Hibernate 
>>> (that's my guess anyways, I don't know much about Hibernate). Cayenne 
>>> server transactions are a "bridge" to JDBC transactions (there's not 
>>> Cayenne specific transactional behavior, other than locking a JDBC 
>>> connection for the operation duration, and allowing users to delineate a 
>>> custom JDBC tx scope).
>>
>> Very interesting for me, as I write about transaction for the article
>> at the moment.
>>
>> You wrote, ObjectContext is some kind of a "disconnected" object. If I
>> create two new objects in the ObjectContext, when does the transaction
>> start exactly? Is it when I call "registerNew" on the first object or
>> is it when I commit my changes (it then would create a transaction,
>> commit both new objects, close transaction)?
>>
>>>
>>> Since there's no JDBC on the ROP client, there are no Cayenne transaction 
>>> there. Potentially we can extend this abstraction to the client, but it was 
>>> thought originally that this will break a simple request/response 
>>> webservice'y feel of ROP.
>>
>> Makes perfect sense
>> Cheers
>>
>>
>>>
>>> Andrus
>>>
>>>
>>> On Jul 25, 2011, at 6:18 PM, Christian Grobmeier wrote:
>>>
>>>>>> I was just surprise that getDataDomain() is not in CayenneRuntime. It
>>>>>> seemed to me that would be the logical place. I can see getChannel and
>>>>>> getContext is in CayenneRuntime too. So, why not getDataDomain?
>>>>>
>>>>> The answer is ROP. DataDomain is a "server" configuration object, and is 
>>>>> not available in the "client" (ROP) configuration.
>>>>
>>>> Ah understood
>>>>
>>>> Does that mean a "ROP client" is not meant to work with transactions,
>>>> only the "ROP server" is? (not knowing to much about ROP at the
>>>> moment)
>>>>
>>>> Cheers
>>>> Christian
>>>>
>>>>>
>>>>> Andrus
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> http://www.grobmeier.de
>>>>
>>>
>>>
>>
>>
>>
>> --
>> http://www.grobmeier.de
>
>



-- 
http://www.grobmeier.de

Reply via email to