Hi,

Though it is a guess

System.out.println("--Update--");
//parent = read(parentId); //You comment here
parent.getChildren().add(new Child("childId2")); 

I think that it can register two children by this method. 

Please try.
thanks.



>Hi,
>I am having problem with updating an owned one-to-many relationship.
>
>It seems to me that the relationship is not updated when add a child
>during update. The same during create is working fine.
>Here is a sample code about which I am talking about,
>
>Parent class:
>@PersistenceCapable(detachable="true")
>public class Parent {
>
>    @PrimaryKey
>    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
>       private Key key;
>
>       @Persistent
>       private String parentId;
>
>       @Persistent
>       List<Child> children;
>
>       public Parent(String parentId, List<Child> children) {
>               this.parentId = parentId;
>               this.children = children;
>       }
>
>       // ...
>
>}
>
>Child Class:
>@PersistenceCapable(detachable="true")
>public class Child {
>
>       @PrimaryKey
>    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
>       private Key key;
>
>       @Persistent
>       private String childId;
>
>       public Child(String childId) {
>               super();
>               this.childId = childId;
>       }
>
>       // ...
>}
>
>Test Class:
>               String parentId = "parentId3";
>
>               List<Child> children = new ArrayList<Child>();
>               children.add(new Child("childId1"));
>               Parent parent = new Parent(parentId, children);
>
>               System.out.println("--Create--");
>               persist(parent); // There is only one child now - childId1
>
>               System.out.println("--Update--");
>               parent = read(parentId);
>               parent.getChildren().add(new Child("childId2")); // There are 
>two
>children - childId1, childId2
>               persist(parent);
>
>               System.out.println("--Verify--");
>               read(parentId); // ERROR: There is only one child - childId1
>
>In the third step when I try to verify the existence of two children,
>I am getting only one!.
>Note: I am explicitly detaching the object in both read and persist
>methods.
>
>Any help regarding this will be much appreciated. I can zip the
>complete code and send if needed.
>
>Thanks,
>Anoop
>
>-- 
>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 [email protected].
>To unsubscribe from this group, send email to google-appengine-java+
>[email protected].
>For more options, visit this group at http://groups.google.com/group/google-
>appengine-java?hl=en.

-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to