You're completely right, but I want the JPA provider to do that for me :) Thank you for your help.
On 5/20/10, Chau Huynh <cmhu...@gmail.com> wrote: > I just wonder if you need an unique ID only, then you can let Google do it > for you (sorry if this interrupted your discussion) > http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/DatastoreService.html#allocateIds%28com.google.appengine.api.datastore.Key,%20java.lang.String,%20long%29 > > On Thu, May 20, 2010 at 11:45 AM, Luca <luca.mas...@gmail.com> wrote: > >> Some more infos. >> >> The behavious of DataNucleus depends on the strategy I choose to >> generate the @Id field. >> >> When I use GAE I always use the GenerationType.IDENTITY because I read >> that on JDO docs (http://code.google.com/appengine/docs/java/datastore/ >> dataclasses.html<http://code.google.com/appengine/docs/java/datastore/%0Adataclasses.html>: >> Primary keys of type Key require a @PrimaryKey >> annotation and a @Persistent(valueStrategy = >> IdGeneratorStrategy.IDENTITY) annotation) and I saw that GAE >> documentation about JDO is usually more deep that JPA documentation. >> >> But If I choose GenerationType.AUTO then I see that also DataNucleus, >> like all the other persistence provider, generate the key after the >> persist and before the flush/commit. Very strange indeed because for >> H2 DataBase the AUTO should choose IDENTITY generation. >> >> I'm still more convinced this is a bug in DataNucleus that affect the >> way we work on Google App Engine. >> >> On 19 Mag, 07:26, datanucleus <andy_jeffer...@yahoo.com> wrote: >> > I've already asked you twice to post your class. You haven't. That >> > provides no context for any comment, and I've already told you why >> > datastore operations are delayed until commit/flush. Why do you think >> > there's a flush() method if you think things ought to go straight to >> > the datastore ? >> > >> > JPA2 spec page 29 footnote 12. >> > <spec>[12] If the application does not set the primary key attribute >> > corresponding to the relationship, the value of that attribute may not >> > be available until after the entity has been flushed to the database.</ >> > spec> >> > >> > <spec>/** >> > * Synchronize the persistence context to the underlying database. >> > * @throws PersistenceException if the flush fails >> > */ >> > public void flush();</spec> >> > >> > <spec>• If X is a new entity, it becomes managed. The entity X will be >> > entered into the database at or >> > before transaction commit or as a result of the flush operation.</ >> > spec> >> > >> > http://www.datanucleus.org/products/accessplatform/jpa/transaction_ty... >> > >> > End. >> > >> > -- >> > 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<google-appengine-java%2bunsubscr...@googlegroups.com> >> . >> > For more options, visit this group athttp:// >> 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-j...@googlegroups.com. >> To unsubscribe from this group, send email to >> google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@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-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. > > -- **************************************** http://www.lucamasini.net http://twitter.com/lmasini http://www.linkedin.com/pub/luca-masini/7/10/2b9 **************************************** -- 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.