Thanks.  That answers my question.

On Jul 6, 3:18 pm, Ravi Sharma <[email protected]> wrote:
> You need to understand the concept of Entity group here, and need to
> understand the owned relation and unowned relation.
> Think of owned and unowned relation like this
> You(your house) and your TV has owned relationship, your house has TV, no ne
> can see it from outside, and if your friend want the same tv he need to buy
> the same TV and own it. And at one point if you ask who all watching my TV
> then it will be just you not your friend as he has his own TV(although same
> kind of TV).
>
> But You and your favourite movie theatre has unowned relationship, you dont
> own it, anyone who knows the address of theatre can go and watch movie. and
> at one moment 1000s of people might be watching the same movie/theatre
>
> Back to your question.....
>
> Categories(3)/CategoryGroups(4)     is an example for owned relation.
> CategoryGroup(4) will be available to Category(3) only and if you create
> another category Cateory(10) with same category group it will just create
> another version of categoryGroup CategoryGroup(11) in that category. But you
> may see that CategoryGroup 11 and CategoryGroup 4 both are Entertainment.
>
> In your case many categories can have same categoryGroup.So instead of using
> owned relationship, you should use unowned relationship.
>
> Instead of this
> @Persistent
>    private CategoryGroups Group;
>
> define this
> @Persistent
>    private Key categoryGroupId;
>
> and save key of CategoryGroup rather then full object. (Dont buy a TV for
> every other rmovie you want to watch, just buy a movie theatre ticket go
> there and use that :) )
>
> I hope u get the idea,  you can learn more from here....
>
> http://code.google.com/appengine/docs/java/datastore/relationships.html
>
> spare me if you dont like my example... :)
>
> Ravi.
>
> On Tue, Jul 6, 2010 at 5:47 PM, AC <[email protected]> wrote:
> > I just started fooling around w/ GAE this weekend.
>
> > I have a Categories class and a CategoryGroup class.  The idea is that
> > every category must be grouped.  For example the CategoryGroup
> > "Entertainment" can be assigned to many Categories, such as "movies",
> > "music" and "television".
>
> > Here are my classes.
>
> > @PersistenceCapable
> > public class Categories
> > {
> >   �...@primarykey
> >   �...@persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
> >        private Key Id;
>
> >   �...@persistent
> >    private CategoryGroups Group;
>
> >       �...@persistent
> >        private boolean IsDeleted;
>
> >       �...@persistent
> >        private String Name;
>
> >       �...@persistent
> >        private Date CreateDate;
>
> >       �...@persistent
> >       �...@column(allowsNull="true")
> >    private Date ModifiedDate;
> > }
>
> > @PersistenceCapable
> > public class CategoryGroups
> > {
> >       �...@primarykey
> >   �...@persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
> >        private Key Id;
>
> >       �...@persistent
> >    boolean IsDeleted;
>
> >       �...@persistent
> >    String Name;
>
> >       �...@persistent
> >    Date CreateDate;
>
> >       �...@persistent
> >       �...@column(allowsNull="true")
> >    Date ModifiedDate;
> > }
>
> > First I add a record to CategoryGroups.  When I query all, the reult
> > is :
>
> > CategoryGroups(2)
>
> > Next, I add a record to Categories.  When I query all CategoryGroups,
> > the result is :
>
> > Categories(3)/CategoryGroups(4)
> > CategoryGroups(2)
>
> > I do not doubt that this works as it was designed to, however, coming
> > from a RDBMS background, this is very confusing to me.  The screen I
> > created to manage Categories now has "Entertainment" listed twice in
> > the CategoryGroups select box.  Is there a better approach to achieve
> > my goal?
>
> > Any advice is much appreciated.
>
> > --
> > 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]<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