Hallo Klaus,
Ich persönlich löse das Problem meist indem ich mir in jedem Datensatz die ID des Wurzel-Elements mitführe (auch wenn das der 'reine' Lehre der Redundanz-VErmeidung zuwiderläuft).
das Mitführen der Tiefe kann auch ganz hilfreich sein (ebenfalls redundant). Wenn der OP auf Schleifen in der API verzichten will, könnte er ggf. auf Stored Procedures ausweichen, falls sein DBMS diese unterstützt. Selbstverständlich sollte er die Performance beider Lösungen prüfen.
Freundliche Grüße
Vinzenz