This is a bug. Let me see if there is a quick fix.
https://issues.apache.org/cayenne/browse/CAY-1082
Andrus
On Jun 24, 2008, at 1:37 PM, Andrey Razumovsky wrote:
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