След като разгледах вашата заявка, осъзнавам няколко проблема с вашия HQL, които трябва да бъдат решени. Вижте раздела тук:
https://docs .jboss.org/hibernate/orm/3.3/reference/en-US/html/queryhql.html#queryhql-joins
Така че, като направите FETCH ALL PROPERTIES, вие нямате възможност да филтрирате z деца в същата заявка. Тогава вашата заявка трябва да изглежда така:
SELECT new com.mycompany.kwestionariusz.Osoba(
o.id, o.imie, o.nazwisko, o.telefon, o.email,
o.uczelnia, o.doswiadczenie, o.skadSlyszal)
from Osoba as o
INNER JOIN o.zainteresowania as z
WHERE ((o.id) = (id_osoby))
and (LOWER(z.zainteresowanie) LIKE ?)
and (LOWER(z.zainteresowanie) LIKE ?)
and (LOWER(z.zainteresowanie) LIKE ?)
and (LOWER(z.zainteresowanie) LIKE ?)
and (LOWER(z.zainteresowanie) LIKE ?)
Единственото нещо, за което не съм сигурен, е този имот тук:
(id_osoby)
Не виждам това да има псевдоним никъде и не виждам тази колона в нито една от вашите таблици. Сигурни ли сте, че това е необходимо?
Така че това ще ви даде o родителски обекти, които са филтрирани по свойства на z деца. Z децата обаче са мързеливи, така че трябва да ги потърсите независимо от z ID или трябва да можете да ги извличате в рамките на същата транзакция на хибернация, само като извикате метода getter, за да върнете списъка с z деца.