On 30/05/2007, at 7:32 PM, Aristedes Maniatis wrote:

3. vertical inheritance (where a special ObjRelationship is created to specify the superclass. There may also need to be a qualifier like with single table - Lachlan thinks yes, I'm dubious.)

The qualifier is required for vertical inheritance only for the case where it is permitted to instantiate objects of the parent entity. It is not necessary when the parent entity is abstract.

When the parent entity is not abstract and you are following a relationship from another entity to the parent entity, as one example, and you want to filter out all but 'employee' and 'student' types this allows Cayenne to fetch such objects without also having to query the sub-type characteristics. In addition, determining what the global object id is for when figuring out what type of sub-entity the parent belongs to should you wish to turn it back into the subclass.

I believe it is asking for a much more complicated implementation without the declared qualifier for vertical inheritance when the parent is not abstract.

with regards,
--

Lachlan Deck

Reply via email to