Thanks! I'll try that. BTW no, addComment does not store the comment.

On Tue, Feb 22, 2011 at 8:49 PM, WillSpecht <willspe...@gmail.com> wrote:

> Don't you need to persist the thread as well as the comment?  It's
> hard to analyze your code with such a small sample.  Does addComment
> persist the thread? My
>  guess is that something is making the transaction fail, probably
> cause you are trying to operate on two different entity groups. I
> would simply store the comment as it's own entity and when you want
> all the comments simply do a query for comments with parentKey ==
> ThreadKey.
>
> On Feb 21, 9:30 pm, "Fernando O." <fot...@gmail.com> wrote:
> > Hi all.
> > First of all I have to admit: I havent read all the docs.
> >
> > I had a small app running, it basically has this:
> > A User:
> > @PersistenceCapable(detachable = "true")
> > @FetchGroup(name = "_post", members = { @Persistent(name = "posts") })
> > public class User implements Serializable{
> > @PrimaryKey
> > @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
> > private Key key;
> >
> > @Persistent(mappedBy = "user", defaultFetchGroup = "true")
> > @Element(dependent = "true")
> > private List<Post> posts;
> > ....}
> >
> > A thread :
> >
> > @PersistenceCapable(detachable = "true")
> > @FetchGroup(name = "_user", members = { @Persistent(name = "user")})
> > public class Thread implements Serializable {
> > @PrimaryKey
> > @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
> > private Long key;
> >
> > @Persistent(defaultFetchGroup = "true")
> > @Element(dependent = "true")
> > private User user;
> > ...
> >
> > }
> >
> > So now I want to add comments, each comment will have: the user that made
> > the comment, and the thread that it belongs to, and some other fields:
> > @PersistenceCapable(detachable = "true")
> > public class ThreadComment implements Serializable{
> >  @PrimaryKey
> > @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
> > private Key key;
> >
> > @Persistent(defaultFetchGroup = "true")
> > @Element(dependent = "true")
> > private User user;
> >
> > @Persistent(defaultFetchGroup = "true")
> > @Element(dependent = "true")
> > private Thread thread;
> > ...
> >
> > }
> >
> > I changed the Thread to include a list of comments:
> > @PersistenceCapable(detachable = "true")
> > @FetchGroup(name = "_user", members = { @Persistent(name =
> > "comments"),@Persistent(name
> > = "user")})
> > public class Thread implements Serializable {
> > ....
> >         @Persistent(defaultFetchGroup = "true")
> > @Element(dependent = "true")
> > private List<ThreadComment> comments;
> >
> > }
> >
> > My problem is that meanwhile this works in memory when I try to persist
> the
> > ThreadComment
> > PersistenceManager pm = getPMF();
> > Transaction tx = pm.currentTransaction();
> > tx.begin();
> > thread.addComment(comment);
> > pm.makePersistent(comment);
> > tx.commit();
> > pm.close();
> >
> > the code gets excecuted but I don't see the comment in the database (in
> fact
> > the logs show no db activity either)
> > So I don't see an exception, the code gets excecuted but I don't see the
> > comment in the DB.
> >
> > I already have the db with soem threads without comments, this is a "new
> > feature"
> >
> > Any idea of what I'm doing wrong? (please don't say everything :D )
> >
> > Thanks!
> >
> > Fernando
>
> --
> 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.
>
>

-- 
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