cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Schröder <Peter.Schroe...@freenet-ag.de>
Subject AW: Help: getting NPE at ObjectStoreGraphDiff.preprocess
Date Wed, 07 Mar 2007 07:19:42 GMT
i am not quite sure, but i think that you have to use  

context.createAndRegister(MyType.class);

instead of

context.newObject(MyType.class);


-----Ursprüngliche Nachricht-----
Von: Eric Floehr [mailto:efloehr@boxicom.com] 
Gesendet: Dienstag, 6. März 2007 19:37
An: user@cayenne.apache.org
Betreff: Help: getting NPE at ObjectStoreGraphDiff.preprocess

Hi!

 

I am new to Cayenne, and am having some problems.  I have been able to
populate some DB records, but when I try to set up a relationship, I get
an NPE on the commit.  I am using Cayenne 2.0.2.

 

Here is the essential code (with some names changed to protect the
innocent):

 

MyType type = (MyType) context.newObject(MyType.class);

type.setObjectId(new ObjectId(MyType.class.getSimpleName(),
MyType.MYTYPE_ID_PK_COLUMN, 1));

type.setName("MyName");

MyCategory category = (MyCategory)DataObjectUtils.objectForPK(context,
MyCategory.class, 1);

type.setMyCategory(category);

context.commitChanges();

 

The MyType table has fields mytype_id (the primary key), name, and a
mycategory_id (foreign key to the mycategory table).  I am creating a
new "MyType" object with a mytype_id of 1, name of "MyName", and
pointing to a Category object, that is already in the database, with a
primary key of 1.

 

When commitChanges() runs, I get:

 

Exception in thread "main" java.lang.NullPointerException

      at
org.apache.cayenne.access.ObjectStoreGraphDiff.preprocess(ObjectStoreGra
phDiff.java:184)

      at
org.apache.cayenne.access.ObjectStoreGraphDiff.<init>(ObjectStoreGraphDi
ff.java:53)

      at
org.apache.cayenne.access.ObjectStore.getChanges(ObjectStore.java:496)

      at
org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:120
8)

      at
org.apache.cayenne.access.DataContext.commitChanges(DataContext.java:113
0)

      at
com.boxicom.server.db.CreateDb.testStreamTypeAdd(CreateDb.java:96)

      at com.boxicom.server.db.CreateDb.main(CreateDb.java:105)

 

Can anyone help me determine what is going wrong?

 

Thanks much!

Eric

 


Mime
View raw message