Re: Vertical inheritance support proposal

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Wed Jun 15 2005 - 13:45:19 EDT

  • Next message: Mike Kienenberger: "Re: Vertical inheritance support proposal"

    I am confused. I think inheritance is inheritance, so the Java class
    hierarch will be the same no matter whether "verti" or "singti" is used to
    map it to the DB layout. There won't be any "composition" inside
    DataObject. It will be a regular subclass.

    I don't think I follow your example of "Organization -> SecGroup ->
    SecRole" (is this really inheritance, "role" is not "organization"
    subclass?). So let's take KODO example at
    http://www.solarmetric.com/Software/Documentation/3.3.3/docs/img/inheritance-vertical.png

    Customer is a sublcass of Person, but it is still a single object.

    Andrus

    > Andrus Adamchik <andru..bjectstyle.org> wrote:
    >> Why would this be different from the single-table inheritance that we
    >> have
    >> now?
    >
    > Because the single-table inheritance (singti) creates only one DataObject
    > per ObjEntity instance.
    > Vertical inheritance (verti) requires a DataObject for each object in the
    > inheritance chain.
    >
    > Ie, If you have Organization -> SecGroup -> SecRole, singti only creates
    > and manages one Organization DataObject, but verti must create an
    > Organization DataObject, a SecGroup DataObject, and a SecRole DataObject.
    >
    > Each child DataObject is actually a composite object representing itself
    > and
    > its parent.



    This archive was generated by hypermail 2.0.0 : Wed Jun 15 2005 - 13:45:20 EDT