Is there any reason why Inheritance Mapping IS LEFT JOINED not INNER JOINED?
When there is a filter and it's left joined it happens a record might not have parent table record. For example
Class B extends Class A.
Class A have column is_active | and filter activated with is_active = 1 condition.
Final query: LEFT JOIN parent_table s1_ ON p2_.id = s1_.id AND (s1_.is_active = '1')
Record 1 have is_active = false, so result set looks like this:
table_b | table_a
id | id is_active discriminatorColumn
1 | null null null
and occurs exception: The discriminator column ... is missing for ....