Invalidate lookup tables cache?

From: Twan Kogels (twa..wansoft.com)
Date: Wed Jul 21 2004 - 05:03:54 EDT

  • Next message: Cristiano Cumer: "Re: cayenne and eclipse pde"

    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