Eine EXISTS-Abfrage ist die richtige, wenn Sie nicht an der Anzahl der Datensätze interessiert sind:
select 'Y' from dual where exists (select 1 from mytable where parent_id = :id)
Dies gibt 'Y' zurück, wenn ein Datensatz existiert, und sonst nichts.
[In Bezug auf Ihre Frage zu "uniqueResult" von Hibernate - all dies gibt ein einzelnes Objekt zurück, wenn nur ein Objekt zurückzugeben ist - anstelle eines Satzes mit 1 Objekt. Wenn mehrere Ergebnisse zurückgegeben werden, löst die Methode eine Ausnahme aus.]