ressucitando o tópico…
tenho uma classe (CentroCusto) que referencia ela mesma:
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="centro_custo_pai", nullable=true)
private CentroCusto ccPai = null;
@OneToMany(mappedBy = "ccPai", cascade = {CascadeType.ALL}, fetch = FetchType.EAGER)
private Collection<CentroCusto> filhos;
Aí no meu ManagedBean, eu tenho um método que retorna todos os nós raiz, ou seja, aqueles que não tem pai:
List<CentroCusto> list = dao.findByTodos(Restrictions.isNull("ccPai"));
O código que faz esta busca não tem nenhum problema, já testei várias vezes.
O problema é que minha árvore no richfaces não retorna todos os dados:
<rich:tree id="tree" ajaxSubmitSelection="true" switchType="ajax"
onselected="return false;">
<rich:recursiveTreeNodesAdaptor var="node" roots="#{centroCustoFace.centrosCustoRaiz}"
nodes="#{node.filhos}" >
<rich:treeNode data="#{node.id}" >
<!--Node Name-->
<h:outputText value="#{node.descricao}" />
</rich:treeNode>
</rich:recursiveTreeNodesAdaptor>
</rich:tree>
Ela se limita a exibir somente os nós raiz e mais um nível. Não está fornecendo o comportamento recursivo.
Alguém sabe me informar se eu esqueci de alguma coisa?? O que mais precisa pra esta árvore percorrer a Collection que o Hibernate retornou no método getFilhos() ???
Obrigado