Thanks all for comments. It really helped. I settled in this relationship which seems solve all problems, atleast as of now.
Entity Group (EG) #1 User - User related CRUD can be done EG#2 Exam - Exam related CRUD can be done EG#3 PageIndex - Contains all (keys of) Pages under Exam, in order. Page CR and D, (re)ordering of Pages can be done simply & maintaining data integrity. Page - Page CRUD can be done. Deletion will just happen in PageIndex first and then here. Can also done in transaction if needed as we are in same EG QuestionIndex - Contains all (keys of) Questions under a Page in order. Question (re)ordering can be done. Note Question can be reordered within a Page or from 1 page to another and can be done as all QuestionIndex are in same EG. Also Question CR, D can be done. EG#4 Question - Actual Question CRUD. Like Page, deletion of Question will happen in QuestionIndex (yes only its key) and lated propagated to actual entity here. Its ok if deletion of key of Question happens in QuestionIndex passes and it fails when actual Question is deleted, as we can try again later and the single source of truth would be QuestionIndex Answer - Answer CRUD Hope this also helps someone. I would be happy if someone points out flaws in my modeling. Andy, Am not clear about yr question. May be if you could show what are the relevant entities and what exactly should be the relationship btw them, i can share my 2 cents. -- 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.
