Great. this is the kind of feedback I was looking for :-)

On May 31, 2010, at 8:17 AM, Mike Kienenberger wrote:
What you're suggesting could work, but we have at least one very deep
and wide inheritance tree in our current app, and the performance hit
of joining more than a hundred tables (so far) unnecessarily would
kill us.

So how would you do a fetch based on discriminator column approach? I can think of a 2 step process:

1. Fetch ID's + discriminator columns from the root table.
2. Fully resolve objects, either doing joins only for the subset of tables that appeared in result in #1, or doing a separate query (without joins) for each subclass table matching the set of IDs.

Does that sound right?

Also I am sort of in favor of my original discriminator-free approach for smaller hierarchies, so wonder if a fetch strategy can be something specified for a given super-entity and/or query.

Andrus

Reply via email to