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 <[email protected]> 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 <[email protected]> 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 [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
-~----------~----~----~----~------~----~------~--~---