i use three class   User , Type ,and Article :

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class User {

        @PrimaryKey
        @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
        private Key id;

        @Persistent
        private String login;

        @Persistent
        private Type type;

        .......

}


@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Type {

    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Key key;

        .......

}


@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Article {

    @PrimaryKey
   @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long id;

   @Persistent
    private User user;

        .....
}

--------------------------------
I use this method to save the article :

public static Article save(Article article, Long userId) {
                Article result = null;
                PersistenceManager pm = PMF.get().getPersistenceManager();
        try {
                        // Getting the user by id
                        Query query = pm.newQuery(User.class, "id == idParam");
                        query.declareParameters("Long idParam");
                        List<User> users = (List<User>) query.execute(userId);
                        User user = null;
                        if (!users.isEmpty()) {
                                user = users.get(0);
                        }

                        article.setUser(user);

                        result = pm.makePersistent(article);
        } finally {
            pm.close();
        }
        return result;
        }



the exception :

javax.jdo.JDOFatalUserException: Detected attempt to establish Article
(16) as the parent of User(14) but the entity identified by User(14)
has already been persisted without a parent.  A parent cannot be
established or changed once an object has been persisted.
        at
org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException
(NucleusJDOHelper.java:354)
        at org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent
(JDOPersistenceManager.java:674)
        at org.datanucleus.jdo.JDOPersistenceManager.makePersistent
(JDOPersistenceManager.java:694)
        ......



thanks in advance


On 25 août, 17:14, objectuser <kevin.k.le...@gmail.com> wrote:
> Can you tell us what the error is?  And maybe some snippits of code
> showing the relevant parts of your model and how it's mapped?
>
> On Aug 25, 8:08 am, midomarocain <elattar...@gmail.com> wrote:
>
> > I have a relation between a User and Article
>
> > (1) User can have one or many article
>
> > (2) an article is owned by only one user
>
> > i'am intersted only by the relation (2)
>
> > the User is persisted
>
> > I create a new Article and i want relie it with an existant User
>
> > But i have a probleme when trying to persist the article object
>
> > my code is like
>
> > article.setUser(user);
>
> >  pm.makePersistent(article);
>
> > can any one help me please
--~--~---------~--~----~------------~-------~--~----~
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-java@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