On Thu, Jan 21, 2010 at 7:48 AM, Duong BaTien <duong.bat...@gmail.com> wrote:
>
> While exploring list-property and merge-join from this talk
> http://code.google.com/events/io/2009/sessions/BuildingScalableComplexApps.html
> i concur with your value proposition.

Neat, I had missed that talk.  Good stuff.  More comments inline:

> Initially, i plan to build a singleton long id generator to reproduce
> and self-manage datastore Key of the application entity graph. Then use
> the low-level datastore to create list-property and merge-join: User ->
> Message -> MessageIndex or User -> Activity -> ActivityIndex (of
> different properties such as Interest, Checkout, MesurableEvent, etc).
> Please:
>  1) Explain the difference from objectify-appengine with this simple-
> mind approach in the immediate and long term project.

There isn't much of a difference at all.  Objectify is a *very* thin
wrapper around the low-level API.  Generally speaking, you do
everything the same as the way you would do it with the low-level API
except you get to use your typed objects instead of Entity.

Merge joins and list properties work exactly the same in Objectify as
they do in the low-level API.  I'm not in a good position to evaluate
your specific problem domain, but I feel confident saying that if
you're considering the low-level API, you will be much happier using
Objectify.

>  2) It is excellent to show an example of both list-property and merge-
> join as well as best practices to leverage the zig-zag search of the app
> engine.

I wrote a little bit about list properties in the context of a
Multi-Value Relationship in this section:

http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Multi-Value_Relationship

But truly, there's nothing complicated about list properties in
Objectify.  If you save a property of type List<String> then it comes
back as List<String>.  That Google I/O video did a far better job of
explaining zig-zag merge sorts than I ever could.

>  3) Configuration with appengine-java-sdk if there is any significant
> change beside a small jar from objectify-appengine.

Just add objectify-1.x.jar to your project and make sure that you
register your entities in your code (see
http://code.google.com/p/objectify-appengine/wiki/BestPractices).
That's it.

Jeff
-- 
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-j...@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