Eric,
A good first step would be to get the Cayenne 2.0.2 source, and post
the relevent line numbers. Maybe it'll be obvious once we see what's
null.
On 3/6/07, Eric Floehr <efloeh..oxicom.com> wrote:
> 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
>
>
>
>
This archive was generated by hypermail 2.0.0 : Wed Mar 07 2007 - 11:11:27 EST