Re: strange EO inheritance issue
Re: strange EO inheritance issue
- Subject: Re: strange EO inheritance issue
- From: Patrick Robinson <email@hidden>
- Date: Thu, 03 Aug 2006 22:39:10 -0400
On Aug 3, 2006, at 5:24 PM, Sacha Michel Mallais wrote:
On Aug 3, 2006, at 2:05 PM, Patrick Robinson wrote:
I've got a rather strange EO inheritance question. I've got a
situation where I've set up single-table inheritance (with a
subclass "type" column) for 7 out of 8 of my subclasses; and a
separate table (with the same "type" column) that has a bunch more
columns for the 8th, just because I didn't want all those columns
sitting there empty for most of the rows (i.e. for the other 7
subclasses). Probably false economy, but be that as it may....
My structure looks like this:
A <-->> B <<--> C
C is modeled as an inheritance hierarchy using horizontal mapping,
and B is modeled as the inheritance hierarchy described above,
using mostly single-table mapping. There is a different subclass
of B for each corresponding subclass of C.
It all built just fine, but when it came time to save an object of
my new C subclass (the one that corresponds to the B subclass with
its own table), the primary key of the C subclass object did not
propagate to the B subclass object -- it was left as null. This
is done with Oracle, so there's an Oracle sequence C_SEQ that's
used to obtain C's primary key, and C_ID is the primary key of all
C subclasses. Normally, this propagates to the B subclass objects
just fine (with all the other B subclasses, that is), but it isn't
working with the B subclass that is set in EOModeler to use its
own table.
Has anyone else tried to do this kind of thing, or am I just
trying to do something idiotic? :-)
Hi Patrick,
I've recently tried a similar thing to no success. It appears that
there is a WO bug WRT propagating PKs to tables that are not
correlation tables (a correlation table is a table mapping two
entities in a many-to-many relationship with no other attributes --
if B had attributes B.aPK and B.cPK, and no others, it would be a
correlation table). What I did was to throw out propagation and
instead use a standard integer PK.
Hey Sacha,
Before I started trying to mix single-table and horizonal mapping in
a single inheritance hierarchy, I actually had this all working. B
was a correlation table with some additional attributes. That is,
its PK was composed of B.aPK and B.cPK, but it also had cType (which
let me subclass B into various subclass correlation tables via single-
table mapping), and some things like sortOrder (to let the user
specify a particular order for the C objects), myComments, etc.
The propagation of PK from A and C (i.e. its subclasses) to B (i.e.
its subclasses) actually worked just fine. The fly got into the
ointment when I started mixing inheritance models in a single hierarchy.
--
Patrick Robinson
AHNR-IT, Virginia Tech
email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden