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.


Reply via email to