Hi,
The last 2 days i've been busy to get better performance for my
webapplication. I did the thing with prefetching relationships, that worked
very nice. I'm now using the method described on:
<http://www.objectstyle.org/cayenne/userguide/perform/caching-lookup.html>
to optimize my lookup tables.
The records in the lookup table are mostly readonly. But sometimes (once a
month or once in two months) someone decides that a value in a lookup table
should be changed or added.
So i checked the "Refresh objects" checkbox in the Modeler. I thought this
one means "invalidate cache when insert/update/delete occurs".
But when i do a update/insert/delete in the lookup table the cache doesn't
get refreshed.
I use the following code to get objects from the lookup table:
==================
return ctxt.performQuery("AlleSectoren", false);
==================
"AlleSectoren" is a selectquery with properties as stated on:
<http://www.objectstyle.org/cayenne/userguide/perform/caching-lookup.html>
but with "Refresh objects" checkbox on.
I add a object to the lookup table with the following code:
==================
Object o = ctxt.createAndRegisterNewObject(tabel);
( (Sector) o).setNaam(naam);
==================
The added object is added to the lookup table. But when executing another:
==================
return ctxt.performQuery("AlleSectoren", false);
==================
the added/new object doesn't show up. I see in my log that cayenne doesn't
execute a query to my database so i guess cayenne takes the objects from
the cache.
Should i maybe manually invalidate the cache?
I'm currently using cayenne-1.1M7_1 and a mysql 4.x database.
Thanks,
Twan
This archive was generated by hypermail 2.0.0 : Wed Jul 21 2004 - 05:01:09 EDT