> * Transactions in JDO is a global thing tied to the persistence store
> (one database = one transaction), but for GAE it's one transaction per
> entity group. It's perfectly reasonable to execute two transactions at
> the same time, which is hard to fit into the traditional development
> model with spring.

One txn per PM, at any one time. You can have multiple PMs open, hence
multiple txns. How Spring handles that is for Spring.

> * The current way of generating a primary key with a parent is not
> natural IMHO. My key attribute already has a parent, why should I add
> _another_ attribute with the parent PK?

That is the problem of Google for exposing their Key. A user doesn't
care about internal handling. When we provided support for db4o we
didn't expose db4o's key, instead providing a clean long/String/int
type etc, and doing conversions internally ... aka transparent ... the
whole point of JDO.

> * Entity retrieval can be done just by providing the primary key, but
> JDO and JPA are not prepared for it - you must provide the entity
> class as well. This is redundant.

pm.getObjectById(Object id)
It's an id, a JDO identity (pm.getObjectId(obj)). Can't get simpler.

JPA insists on the class too but then that's JPA.

> * There are a lot of use cases (structures etc) supported by
> datanucleus that can be optimized out. This is important in a system
> where I pay per CPU cycle.

Yes, but when the plugin doing the work (the GAE/J DN plugin) doesn't
(shouldn't) touch the majority of those then that is minimal

> The list goes on.

Please do continue the list, because I'm sure Max et al will be
interested to know what you think are problem areas so they can cater
for such things in their DN plugin.

> P.S.: Please keep in mind that I have absolutely nothing against
> datanucleus, which is indeed a nice implementation.

Not a problem, neither do I have anything against any alternative,
just wanting to understand the motivations, and to see if there is
something that can be adapted. The fact is that the GAE/J DN plugin is
open source too, and Max et al are open to input on it
--~--~---------~--~----~------------~-------~--~----~
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