DDC-2479: Add possibility to only query for root entities in a class table inheritance #3111

Open
opened 2026-01-22 14:12:30 +01:00 by admin · 0 comments
Owner

Originally created by @doctrinebot on GitHub (May 30, 2013).

Originally assigned to: @beberlei on GitHub.

Jira issue originally created by user @deeky666:

It is not possible to query for root/topmost class entities (only) in a class table inheritance situation without extra JOINs to the child entities/classes.

E.g.
Person -> root entity/class
Employee -> child entity/class extending Person

The DQL:

SELECT p
FROM Person p;

also joins Employee even though I am not interested in Employee properties.

Person is the base class in this use case and it should be possible to only retrieve those information. Thinking of OOP, if I instanciate Person I do not have any reference to its child either.
This is especially useful for large base tables where you want to only retrieve base information without inferring the childs.

IMO the DQL should be modified to allow selecting root/base information only, similar to the INSTANCE OF operator, that allows selecting specific childs only.

Originally created by @doctrinebot on GitHub (May 30, 2013). Originally assigned to: @beberlei on GitHub. Jira issue originally created by user @deeky666: It is not possible to query for root/topmost class entities (only) in a class table inheritance situation without extra JOINs to the child entities/classes. E.g. Person -> root entity/class Employee -> child entity/class extending Person The DQL: SELECT p FROM Person p; also joins Employee even though I am not interested in Employee properties. Person is the base class in this use case and it should be possible to only retrieve those information. Thinking of OOP, if I instanciate Person I do not have any reference to its child either. This is especially useful for large base tables where you want to only retrieve base information without inferring the childs. IMO the DQL should be modified to allow selecting root/base information only, similar to the INSTANCE OF operator, that allows selecting specific childs only.
admin added the Improvement label 2026-01-22 14:12:30 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: doctrine/archived-orm#3111