Que tal
dadam,
Hay varias formas de lidiar con las estructuras de árbol, te sugiero que investigues un poco mas las otras opciones que tienes(
referencia), recursividad contra la bbdd debería ser tu último recurso, es mas para tu caso en concreto con una sola query y sin recursividad puedes lograr lo mismo
http://jdbartlett.com/2008/01/15/tre...cy-list-model/
Saludos.