Date: 2005-02-03T08:53:04 Editor: MichelleCaisse Wiki: Apache JDO Wiki Page: MetadataMappings URL: http://wiki.apache.org/jdo/MetadataMappings
no comment Change Log: ------------------------------------------------------------------------------ @@ -4,7 +4,7 @@ There are three inheritance patterns possible: *One Table - All rows in the inheritance hierarchy are stored in one table that has a superset of the required columns plus a discriminator column to specify the class of that row. - *Joined Tables - Each class, including the parent class, maps to its own table. The tables are joined by their primary keys. + *Joined Tables (aka Vertical Inheritance) - Each class, including the parent class, maps to its own table. The tables are joined by their primary keys. *Subclass Tables - each subclass maps to a table that contains columns for both the subclass and its parent class. The inheritance strategies are mapped by use of the metadata elements <inheritance> and <discriminator>. The following metadata cases must be tested: @@ -20,6 +20,8 @@ ||Nested under <inheritance>||Nested under subclass <class> element|| || <discriminator value="value-map" column="column_name">|| <discriminator value="pick_a_value">|| || <discriminator value="class-name" column="column_name">||n/a|| + +When the inheritance pattern is Joined Tables, a <discriminator> element is optional. It may be used to increase efficiency in some cases. '''Question:''' What about index element or indexed attribute of <discriminator>? These are in the dtd, but not mentioned in Chapter18TestCoverageNotes.