Inheritance and class hierarchy is very important in OOP but it has a different meaning when it comes to persistence. You cannot take advantage of OOP concepts like: encapsulation, polymorphic etc. So, as Ikai pointed above, you can run into over-engineering trap going that way. In my opinion the best way is simply to design one big class:
public class AnimalOfAllAnimalls { } get all possible attributes here and add one single attribute like: enum AnimalType { elephant, lion, mouse, whale ... } and field in you persistence class: @Persistent private AnimalType species; ... and that's final. Of course, some of attributes will be dead for some type of animal but, nowadays, disk space is very cheap and engineer time very expensive. -- 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.