cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gentry, Michael \(Contractor\)" <michael_gen...@fanniemae.com>
Subject RE: Exception: "Temporary ID hasn't been replaced on commit?"
Date Mon, 20 Mar 2006 13:58:52 GMT
Looks like you are using Tapestry.  Is it T4?  Are you using the new
@For component (or similar)?



-----Original Message-----
From: Tomi NA [mailto:hefest@gmail.com] 
Sent: Monday, March 20, 2006 8:56 AM
To: cayenne-user@objectstyle.org
Subject: Exception: "Temporary ID hasn't been replaced on commit?"


I have an app I based on Cayenne 1.2M1, but having had some hard to
trace
problems, I upgraded to cayenne 1.2M11. However, I now have a new
problem
when I try to fill a many to many relationship:

Unable to invoke method onAccept on
app.interface.Home$Enhance_9@327236[Home]:
[v.1.2M11 February 13 2006] Temporary ID hasn't been replaced on commit:
{<ObjectId:Answer, TEMP:80171E18C0A80091>; new;
[toOfferedAnswer=>{<ObjectId:OfferedAnswer, offered_answer_id=4>};
toPerson=>{<ObjectId:Person, person_id=7537>}]}

The code that breaks looks like this:

for (int i = 0; i < getChosenAnswers().length; i++) {
            OfferedAnswer oa = (OfferedAnswer)getChosenAnswers()[i];
            if (oa != null) {
                Answer a = (Answer) context.createAndRegisterNewObject(
Answer.class);
                oa.addToAnswerArray(a);
                person.addToAnswerArray(a);
            }
        }

The Answer table hasn't got a primary key: it has two attributes
(OfferedAnswerID, PersonID) which are foreign keys to their respective
tables. It worked just fine up until I upgraded cayenne.jar. Are the
.xml
files backwards compatible or do I need to upgrade them, too? What seems
to
be the problem here?

TIA,
Tomislav

Mime
View raw message