cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Grobmeier <grobme...@gmail.com>
Subject Re: Configuration Class?
Date Mon, 25 Jul 2011 16:17:18 GMT
nice to compare it with SVN ;-)
Thanks!

On Mon, Jul 25, 2011 at 6:09 PM, Robert Zeigler
<robert.zeigler@roxanemy.com> 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

Mime
View raw message