Если это возможно, я считаю, что вы должны смоделировать наоборот:
@Entity
public class Node {
@OneToMany
private List<Node> children = new ArrayList();
}
Таким образом, вам не потребуется дополнительная предварительная обработка, и вы сможете вызывать parent.getChildren ()