cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Baldwin <jfbald...@earthlink.net>
Subject Re: delete via jdbc
Date Tue, 08 Jun 2010 15:15:25 GMT
Andrus,

I read this post by you and am wondering should I initiate an "unregisterObjects" in the normal
course of events, when say someone is logging out (in a webstore design pattern) to "suggest"
memory management events, or is that superfluous and your "weak reference" algorithm is sufficient?

Joe


On Jun 7, 2010, at 11:04 AM, Andrus Adamchik wrote:

> Invalidate should hollow the objects, but keep their references in the context (they
shouldn't resolve to committed though, so I am surprised about that).
> 
> DataContext also has a method "unregisterObjects" (not a part of ObjectContext interface)
that should forget about the objects in a given context, clear the shared cache, and send
invalidate event to peer contexts.
> 
> Andrus
> 
> 
> On Jun 7, 2010, at 7:58 AM, Tore Halset wrote:
> 
>> Well, processSnapshotChanges did not solve the problem either. I am now doing deleteObjects()
after deleting them via plain jdbc. It is not pretty, but works well as long as the objects
are in state COMITTED.
>> 
>> - Tore.
>> 
>> On Jun 7, 2010, at 12:27, Tore Halset wrote:
>> 
>>> Hello.
>>> 
>>> This one seem to work much better.
>>> 
>>>          ((DataContext) ctxt).getObjectStore().getDataRowCache().processSnapshotChanges(this,
>>>                  Collections.EMPTY_MAP, deletedIds, Collections.EMPTY_LIST,
>>>                  Collections.EMPTY_LIST);
>>> 
>>> - Tore.
>>> 
>>> On Jun 7, 2010, at 09:27 , Tore Halset wrote:
>>> 
>>>> Hello.
>>>> 
>>>> I am deleting some rows via jdbc and want to update the cayenne stack with
that information. After issuing ctxt.invalidateObjects(...) the cayenne objects for the deleted
rows still have persistence state comitted. Is there a better trick than invalidateObjects(...)?
>>>> 
>>>> - Tore.
>>> 
>>> 
>> 
>> 
> 


Mime
View raw message