You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Ari Maniatis (JIRA)" <ji...@apache.org> on 2009/02/24 03:40:46 UTC
[jira] Assigned: (CAY-1183) commitToParent() makes object
persistence state committed, produces exception when using object in parent
context (ROP)
[ https://issues.apache.org/cayenne/browse/CAY-1183?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ari Maniatis reassigned CAY-1183:
---------------------------------
Assignee: Andrey Razumovsky
I'll take the liberty of assigning this one to Andrey since it relates to his new ROP nested context code.
> 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.