Boa noite, Pessoal
Eu tenho os seguintes campos em uma tabela:
e estou precisando retornar em um <h:selectOneMenu da seguinte forma:
i_menu - nome - i_pai
1 - Cadastro - 0
5 - Pessoa - 1
2 - Relatorio - 0
4 - Pessoa - 2
3 - Func - 2
no caso precisaria fazer um sql dentro de outro para retornar tudo dentro de um List<> “é o que penso, mas não sei se estou certo”
eu montei as seguintes funcoes:
public List<Menu> menuPrincipal() {
Menu menu
List<Menu> rel = null;
try {
Query query = emCadastro.createQuery("SELECT m FROM Menu m"
+ " WHERE m.iPai = 0 ORDER BY m.ordem ASC");
rel = query.getResultList();
for (Iterator<Menu> it = rel.iterator(); it.hasNext();) {
Menu menu = it.next();
rel = menuSegundario(menu.getiMenu());
System.out.println("Principal: " + menu.getiMenu());
}
} catch (Exception e) {
e.getMessage();
}
return rel;
}
public List<Menu> menuSegundario(Integer codigo) {
List<Menu> rel = null;
try {
Query query = emCadastro.createQuery("SELECT m FROM Menu m"
+ " WHERE m.iPai = :codigo ORDER BY m.ordem ASC");
query.setParameter("codigo", codigo);
rel = query.getResultList();
} catch (Exception e) {
e.getMessage();
}
return rel;
}
separados essas funcões funcionam mas quando junto não me retorna nada existe uma maneira de fazer isso?
grato.