I discovered this issue during migration to Spring Boot 3 and Hibernate 6.2 The problem is that Hibernate 6 generates invalid native SQL and the SQL is correct when using Hibernate 5 We have the following entity which has a reference to the parent class(abstract class)
Parent class
and implementation of the parent class
You will get incorrect native SQL when executing the following query select s from Main s left join s.parents as p left join Child c on c = p where c.data is not null The error
This query works on Hibernate 5 without issues The workaround to join entities using ids for example left join Child c on c.id = p.id I’ve attached a reproducer. The reproducer in ORMStandaloneTestCase class |