Re: [castor-dev] CPA Cache Levels
Lukas Lang <[email protected]> Thu, 09 Jul 2009 12:15:27 +0200
| Newsgroups | gmane.comp.java.castor.devel |
|---|---|
| Message-ID | <[email protected]> |
Thanks for the detailed explanation!
Lukas
Werner Guttmann schrieb:
> Hi,
>
> sure. Basically, when you start a transaction with Castor JDO using
> database.begin(), internally a new TransactionContext instance will be
> created. This is used to track the various user activities of this
> transaction, e.g. creates, loads, ..... In Hibernate, this information
> pockets associated with the TransactionContext are called '1st level cache'.
>
> Once a commit is issued, the information maintained within this
> TransactionContext is used to prepare the various SQL statements
> required to update the data in the persistence store, i.e. for example
> store the new created objects in the persistence store.
>
> Using the mapping file, the user can configure 2nd level caches for each
> mapped domain object, with varying configuration options. When used,
> Castor JDO internally will use those caches when e.g. loading objects
> from the persistence store. This way, once an object has been loaded
> into a cache, no SQL statements will be issued anymore against the
> persistence store.
>
> And now the last one: for detachment (JPA term) you need to associate
> timestamp information with the objects being detached. In other words,
> if you detach a domain object from the currently running transaction,
> Castor will load it from the persistence store and attach the timestamp
> of the load operation to it. At the same time, the detached object is
> put into the 2nd level cache.
>
> Upon re-attaching the detached obejct, amongst other things, the
> timestamps are being compared to see whether the object has been updated
> during the detachment period. In other words, you need a cache for
> detachment to work. Internally, Castor JDO uses the 2nd level cache for
> this, which in my opinion is not ideal and should be refactored.
>
> Does this address all we talked about ?
>
> Werner
>
> Lukas Lang wrote:
>> Hello Werner,
>>
>> I know, we discussed that last week in personal, but
>> could you please again explain the different cache levels (1st, 2nd,
>> update cache) of Castor to me?
>>
>> I'm writing to the dev list, because this might be interesting for
>> others too.
>>
>> Thanks,
>> Lukas
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>> http://xircles.codehaus.org/manage_email
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
>
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email