BTW...what's the *expected* requirement for creating/updating objects with 
lazy-loaded independent objects?  
 
Do I need to load any direct lazy-loaded, independent objects?  For example 
would this work?  If not why?  What if Property1 defined a direct lazy-loaded, 
independent object (i.e. Property3)?

db.begin();
Property1 propertyOne = db.load(Property1.class, prop1Id);
Property2 propertyTwo = db.load(Property2.class, prop2Id);
db.commit();

Parent parent = new Parent();
parent.setProperty1(propertyOne);
parent.setProperty2(propertyTwo);
 
db.begin();
db.create(parent);
db.commit();

 
Do I have to load all direct independent objects?  For example would this work? 
 If not why?  What if Property1 defined a direct lazy-loaded, independent 
object (i.e. Property3)?
 
Parent parent = new Parent();
db.begin();
parent.setProperty1(db.load(Property1.class, prop1Id));
parent.setProperty2(db.load(Property2.class, prop2Id));
db.create(parent);
db.commit();
 
Some hybrid?
 
Thanks,
Jon

----- Original Message ----
From: Ralf Joachim <[EMAIL PROTECTED]>
To: [email protected]
Sent: Thursday, March 16, 2006 3:50:56 PM
Subject: Re: [castor-user] [JDO] PersistenceException while creating object 
with lazy-loaded independent objects


Jon,

I'm quite sorry but this sounds to be a bug. Could you please open a new 
issue in jira following the bug submission guidlines at:

http://castor.codehaus.org/how-to-submit-a-bug.html

Regards
Ralf


Jon Wilmoth schrieb:
> I'm getting a PersistenceException while trying to create an object that has 
> lazy-loaded, independent children properties that in turn have castor 
> lazy-loaded, independent properties.  I can't imagine I'd need to walk the 
> entire tree loading each independent object when I do a create/update.  Is 
> the general flow below supported?  Is this a bug?
> 
> For example the following code: 
> 
> db.begin(); 
> GolfRound round = new GolfRound(); 
> round.setCourse(db.load(GolfCourse.class, id)); 
> round.setCourse(new Date()); 
> db.create(round); 
> db.commit(); 
> db.close(); 
> 
> fails with org.exolab.castor.jdo.PersistenceException: Object, [EMAIL 
> PROTECTED], links to another object, [EMAIL PROTECTED] that is not 
> loaded/updated/created in this transaction: 
> 
> class GolfRound { 
> private Long id; 
> //lazy-loaded flag set to true in mapping 
> private GolfCourse course; 
> private Date datePlayed; 
> .... 
> } 
> class GolfCourse { 
> private Long id; 
> //lazy-loaded flag set to true in mapping 
> private City city; 
> private Collection teeBoxes; 
> .... 
> } 
> class City { 
> private Long id; 
> private String name; 
> .... 
> } 
>  
> Thanks,
> Jon
> 
> -------------------------------------------------
> If you wish to unsubscribe from this list, please 
> send an empty message to the following address:
> 
> [EMAIL PROTECTED]
> -------------------------------------------------

-------------------------------------------------
If you wish to unsubscribe from this list, please 
send an empty message to the following address:

[EMAIL PROTECTED]
-------------------------------------------------

-------------------------------------------------
If you wish to unsubscribe from this list, please 
send an empty message to the following address:

[EMAIL PROTECTED]
-------------------------------------------------

Reply via email to