RefreshQuery not supports insert/delete?

From: Andrey Razumovsky (razumovsky.andre..mail.com)
Date: Tue Jun 24 2008 - 06:37:43 EDT

  • Next message: Andrey Razumovsky: "Re: RefreshQuery not supports insert/delete?"

    Hi!

     I can't figure out how to make the refreshing query work with inserting or
    deleting rows in database. For instance:

     Artist a = ...

    assert a.getPaintingsArray().size() == 0;

     //here is direct insert into database a painting of artist a (artistid=a.id
    )

     RefreshQuery refresher = new RefreshQuery();

    context.performGenericQuery(refresher);

     assert a.getPaintingsArray().size() == 1; //that's false

     Everything works perfect when I sql-update in database. When i sql-delete,
    i do also get an exception like this:

    org.apache.cayenne.FaultFailureException: [v.3.0M4 May 18 2008 16:32:02]
    Error resolving fault, no matching row exists in the database for ObjectId:
    <ObjectId:Apkforecast, apkforecastid=3>

    at org.apache.cayenne.BaseContext.prepareForAccess(BaseContext.java:100)

    at com.nic.rainbow.data.auto._Apkforecast.getDate(_Apkforecast.java:29)

    ...and so on

    when i try to iterate through related array

     I'm using ROP if that helps. By the way, when i restart client, the data
    becomes correct, so i assume everything has changed correctly on a server.

    If that's not supported, can you give me some advice to manually refresh the
    desired relationships?

     Thanks,

    Andrey



    This archive was generated by hypermail 2.0.0 : Tue Jun 24 2008 - 06:38:17 EDT