это проблема, с которой сталкивается SQL, а не спящий режим. Есть много способов исправить это в SQL (например, оператор минус).
Для имитации того же поведения в Hibernate вы можете использовать операторы IN / NOT IN. Это самый простой способ, который я нашел (принимая во внимание, что вы должны соответствовать "n" значениям дочерних столбцов, а не только одному).
Чтобы быть более конкретным:
1. выберите из дочерней таблицы значения столбца IN (...). Установите проекцию для столбца FK или другого столбца, который вы хотите (я буду использовать столбец FK, например, идентификатор parrent).
2. выберите из дочерней таблицы значения столбца NOT IN (...). Установите проекцию на FK или другой столбец, который вы хотите (то же самое здесь: я буду использовать столбец FK, например, идентификатор parrent).
3. выберите все части, в которых запрос ID IN получен из пункта 1, а запрос ID NOT IN получен из пункта 2.
Таким образом, вы также можете быть уверены, что не получите дубликаты объектов parrent. И если вы хотите разбить на страницы, вы также можете использовать последний запрос, который я описал.
Пожалуйста, предоставьте отзыв, если это помогло.
Надеюсь, это поможет, Николае