Een EXISTS-query is de juiste keuze als u niet geïnteresseerd bent in het aantal records:
select 'Y' from dual where exists (select 1 from mytable where parent_id = :id)
Dit geeft 'Y' terug als er een record bestaat en niets anders.
[In termen van uw vraag over het "unieke resultaat" van Hibernate - het enige dat dit doet, is een enkel object retourneren als er maar één object moet worden geretourneerd - in plaats van een set met 1 object. Als er meerdere resultaten worden geretourneerd, genereert de methode een uitzondering.]