This is a similar posting I had posted earlier "incorrect number of entities
returned".  Hopefully, this posting may be more clean and I will get some
replies.
I have two classes
1) A
2) B
A is in 1 to many relationship with B
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class A {
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    @Extension(vendorName = "datanucleus", key="gae.encoded-pk",
value="true")
    private String id;

    @Persistent
    @Extension(vendorName = "datanucleus", key="gae.pk-name", value="true")
    private String name;
}

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class B {
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    @Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value =
"true")
    private String id;

    @Persistent
    @Extension(vendorName = "datanucleus", key = "gae.pk-name", value =
"true")
    private String name;
}

public class BTest extends JDOTestCase {

    public void testB() throws Exception {
        A a = new A();
        a.setName("a");
        B b = new B();
        b.setName("b");
        a.getBList().add(b);

        beginTxn();
        pm.makePersistent(a);
        a = pm.getObjectById(A.class, a.getId());
        assertEquals(1, a.getBList().size());
        commitTxn();

        B b1 = new B();
        b1.setName("b1");
        beginTxn();
        pm.makePersistent(b1);
        b1 = pm.getObjectById(B.class, b1.getId());
        b1.getId();
        commitTxn();
    }
}

The test fails at the last line "b1.getId()"
If any of B entity is in relation with A earlier, then another entity of B
cannot be persisted by itself.

If I move the 2nd transaction to the beginning, the test passes.

-Aswath

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to