Single-table inheritance error
Single-table inheritance error
- Subject: Single-table inheritance error
- From: Jon Nolan <email@hidden>
- Date: Wed, 30 Sep 2009 14:10:12 -0600
- Organization: Loch Garman
I have something like this modeled in single-table inheritance:
AbstractResource
Resource1
Resource2
...
ResourceN
AbstractResource is marked as abstract and a class attribute named
"resourceType" handles the restricting qualifier.
If I execute this:
NSArray<AbstractResource> resources =
AbstractResource.fetchAllAbstractResources(ec());
I get this:
java.lang.IllegalStateException: Unable to determine subentity of
'AbstractResource' for row: { ...bunch of attributes... }. Check that
the attribute 'resourceType' is marked as a class property in the
EOModel and that the value satisfies some subentity's restricting
qualifier.
The attribute _is_ marked as a class property and the value _does_
satisfy some subentity's restricting qualifier. This is beyond doubt.
I read somewhere once that there's a fluky thing wherein the order of
the entities alphabetically within the model matters. Hence my parent
entity begins with "A" and is the very first entity in my model.
Doesn't help.
I have had it working for weeks by making AbstractResource non-abstract
and that gets me past the throw but it causes me problems in other areas
(i.e. a fetchRequiredXXX against Resource returns two copies.) I'm
coming back now to do this "the right way" and make single-table
inheritance with an abstract parent work as I imagine it should.
Any ideas?
Thanks,
Jon
_______________________________________________
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