db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andy Jefferson <a...@jpox.org>
Subject Re: Patch implementing inheritance proposal - 1 of 2
Date Wed, 24 Aug 2005 16:15:46 GMT
Hi Michael,

> - Inheritance mapping 2: org.jpox.metadata.InvalidMetaDataException:
> Class org.apache.jdo.tck.pc.company.DentalInsurance has field
> org.apache.jdo.tck.pc.company.DentalInsurance.carrier declared in
> MetaData, but this field doesnt exist in the class!

You have a field in DentalInsurance called "carrier". It isn't qualified with 
the superclass name. In section 18.14 of the spec (last sentence)
Subclasses might map fields of their superclasses. In this case, the field 
name is specified
as <superclass>.<superclass-field-name>.
So JPOX's current interpretation is that you have to fully qualify it. Whether 
this is necessary is open to debate but that's what the spec says

> - Inheritance mapping 3: org.jpox.metadata.InvalidMetaDataException:
> Class "org.apache.jdo.tck.pc.company.Employee" has been specified to use
> "subclass-table" inheritance strategy yet has at least one field that is
> a Collection/Map. This is not currently supported by JPOX.

Exactly. Not currently supported.

> - Inheritance mapping 2: org.jpox.metadata.InvalidMetaDataException:
> Datastore-identity strategy in class
> "org.apache.jdo.tck.pc.company.DentalInsurance" ("identity") is not the
> same as the Datastore-Identity strategy declared in the super class(es)
> ("native").

This is likely a bug in JPOX that I have a fix here for, but without the 
actual classes and metadata I can't confirm that


View raw message