Zapytanie EXISTS jest tym, do którego należy wybrać, jeśli nie interesuje Cię liczba rekordów:
select 'Y' from dual where exists (select 1 from mytable where parent_id = :id)
To zwróci 'Y', jeśli rekord istnieje i nic poza tym.
[Jeśli chodzi o twoje pytanie dotyczące "unikalnego wyniku" Hibernate - wszystko to zwraca pojedynczy obiekt, gdy jest tylko jeden obiekt do zwrócenia - zamiast zestawu zawierającego 1 obiekt. Jeśli zwracanych jest wiele wyników, metoda zgłasza wyjątek.]