Я нашел этот запрос HQL, который я пытаюсь понять. В комментарии говорится, что LEFT JOIN заставляет Hibernate жадно загружать связанные объекты в дочернюю таблицу, а модификатор DISTINCT необходим для фильтрации повторяющихся родительских объектов в наборе результатов. Эти комментарии имеют смысл? Я никогда раньше не видел соединения, используемого таким образом.
SELECT DISTINCT p FROM Parent AS p
LEFT JOIN p.children AS c
WHERE p.state = 1
ORDER BY p.modified
Примечание c не используется в предложениях WHERE или ORDER BY.
Кажется, было бы безопасно заменить этот запрос на более простой:
SELECT p FROM Parent AS p
WHERE p.state = 1
ORDER BY p.modified
Но я не уверен, есть ли уважительная причина, чтобы исходный запрос был написан как есть.