Error during a entity collection loading - wrong SQL query generation - missing discriminator condition in the "where" clause if associated class has discriminator force=true
Description
Given an abstract parent class :
and one (or more) subclasses, defined in a separate file :
The separate file can be loaded or not in the hibernate configuration, with a plugin system. That's why force=true was placed on the discriminator element.
Given this class that have a relationship with the parent class :
The following code throws an exeception :
The generated SQL to load the Product collection doesn't contains a WHERE clause to limit the result to known discriminators values.
Attachments
1
Activity
Christian BeikovJanuary 10, 2025 at 2:44 PM
This was fixed in ORM 6 at some point.
Nicolas BouillonOctober 28, 2015 at 7:14 AM
I will not make any effort to test on version 5, just to wait 3 ½ more years for nothing to happen.
Steve EbersoleOctober 28, 2015 at 3:26 AM
As part of verifying that this issue affects 5.0, please just set the "Affects version". Leave the "verify-affects-5.0" label and leave the issue in "Awaiting Response" status; these are critical for us to be able to track these verifications and triage them. Thanks.
Steve EbersoleOctober 27, 2015 at 7:16 PM
This bug report does not indicate that the reported issue affects version 5.x. Versions prior to 5.x are no longer maintained. It would be a great help to the Hibernate team and community for someone to verify that the reported issue still affects version 5.x. If so, please add the 5.x version that you verified with to the list of affected-versions and attach the (preferably SSCCE) test case you used to do the verification to the report; from there the issues will be looked at during our triage meetings.
Given an abstract parent class :
and one (or more) subclasses, defined in a separate file :
The separate file can be loaded or not in the hibernate configuration, with a plugin system. That's why force=true was placed on the discriminator element.
Given this class that have a relationship with the parent class :
The following code throws an exeception :
The generated SQL to load the Product collection doesn't contains a WHERE clause to limit the result to known discriminators values.