Does Hydrate support polymorphism?
A. Yes, Hydrate has tremendous flexibility in how to decide which concrete class of a class hierarchy to create when loading data. The simplest approach uses a discriminator column, but you can always kick down to discriminator code to decide which object will be built. Finally real-time specialization is in development where objects can be loaded as a (possibly abstract) base class and specialized into their ‘true’ concrete classes when more information is available. In the default generated database, Hydrate uses table-per-class polymorphism, though you can tweak this if required by customizing the schema and queries.