Sounds like you're moving on already, but I want to remember having
this problem before when using EOModeler. Creating subclasses of
abstract entities defaults the subclasses to abstract. Are you sure
your subclasses are not abstract? I use horizontal inheritance all
the time for some documents with different line types that are vastly
different. Can you qualify on an attribute that isn't a relationship?
John
On Feb 6, 2007, at 10:31 AM, Ken Anderson wrote:
Unfortunately, that didn't work. Even with setIsDeep set to true,
it still has NULL for the table name. And yes, the abstract entity
is set to abstract.
Oh well - I'm going to go with single table for this particular
situation.
Thanks again Mike.
Ken
On Feb 6, 2007, at 10:58 AM, Mike Schrag wrote:
If I had to guess, I bet it's because none of the EOUtilities
methods do a fetchSpec.setIsDeep(true) and thus don't fetch on
subclasses. If you steal the code from that method and add the
setIsDeep, maybe that will work?
EOQualifier qualifier =
EOQualifier.qualifierWithQualifierFormat(format, args);
EOFetchSpecification fetchSpec = new EOFetchSpecification
(entityName, qualifier, null);
fetchSpec.setIsDeep(true);
NSArray results = ec.objectsWithFetchSpecification(fetchSpec);
On Feb 6, 2007, at 10:54 AM, Ken Anderson wrote:
Everyone,
I swear this has worked in the past - if I'm mistaken, please
remind me!
I have an entity (MemberRuleField) with a relationship to an
abstract entity (MemberRule). MemberRule (and it's sub-entities)
has a relationship called MemberCompanyRole (this defines what
company the rule is for). The inheritance structure is
implemented using horizontal inheritance (separate table for each
concrete sub-entity).
I would like to perform this query:
eos = EOUtilities.objectsWithQualifierFormat(ec,
"MemberRuleField", "memberRule.memberCompanyRole = %@", new
NSArray(new Object[] {memberCompanyRole}));
What I think this should do is create a query for every concrete
sub-entity. Instead, I get this:
SELECT t0.field_values, t0.long_field_values, t0.member_rule_oid,
t0.oid, t0.op, t0.rule_field_oid, t0.trans_id FROM
member_rule_field t0, null T1 WHERE T1.member_company_role_oid
= ? AND t0.member_rule_oid = T1.oid" withBindings: 1:11
(memberCompanyRoleOid)>
I only get one query, and the table name is NULL for the related
table. That unfortunately makes sense, because the memberRule
relationship points to the MemberRule entity, which is abstract
and does not have a table (yes I know, single table inheritance
would solve this problem...and vertical would probably solve it
too).
Any thoughts? I would really prefer to use horizontal here...
Ken
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/mschrag%
40mdimension.com
This email sent to [EMAIL PROTECTED]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/lists%
40anderhome.com
This email sent to [EMAIL PROTECTED]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/the_larsons%
40mac.com
This email sent to [EMAIL PROTECTED]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]