[ 
https://issues.apache.org/cayenne/browse/CAY-1183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13257#action_13257
 ] 

Andrey Razumovsky commented on CAY-1183:
----------------------------------------

blockQueries() simply makes domain raise an exception if any query (e.g. fault) 
happens. Thus we assure no unwanted queries are fired.
The tests started failing once I added new relationships to map. I've been 
unable to reproduce fully your case, but I get same exception at 
"childContext.deleteObject()". Hopefully the issues are the same. I'll have a 
look


> commitToParent() makes object persistence state committed, produces exception 
> when using object in parent context (ROP)
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAY-1183
>                 URL: https://issues.apache.org/cayenne/browse/CAY-1183
>             Project: Cayenne
>          Issue Type: Bug
>          Components: Cayenne Core Library
>    Affects Versions: 3.0M5
>         Environment: ROP (maybe also 2t cayenne, I have not tried)
>            Reporter: Marcin Skladaniec
>            Assignee: Andrey Razumovsky
>            Priority: Critical
>
> This is a bit of pseudocode showing the problem
> Artist artist = parentContext.perfrormQuery(new 
> SelectQuery(Artist.class)).get(0);
> CayenneContext childContext = parentContext.createChildContext();
> Painting painting = childContext.newObject(Painting.class);
> painting.setArtist(artist);
> painting.setBlah...
> childContext.commitToParent();
> for(Painting p : artist.getPaintings()) 
> logger.debug("painting persistence state : 
> "+PersistenceState.persistenceStateName(p.getPersistenceState())); //all 
> objects are in state COMMITTED
> this causes no problems so far, but if one now decides to 
> p.getSomeRelatiohship();
> an exception will be raised, because the relationship has not been faulted 
> yet:
>  [java] Caused by: java.lang.Exception: [v.3.0-SNAPSHOT ${project.build.date} 
> ${project.build.time}] Can't build a query for relationship 
> 'someRelationship' for temporary id: <ObjectId:Painting, 
> TEMP:00000160F3600029>
>      [java]   at 
> org.apache.cayenne.remote.service.BaseRemoteService.processMessage(BaseRemoteService.java:160)
>   ... 25 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to