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.
>>
>>
>
>
This archive was generated by hypermail 2.0.0 : Mon Jun 07 2010 - 15:05:25 UTC