Ola pessoal, por favor me ajudem eu não consigo fazer o f:selectItems da minha classe pq to tentando pegar a classe q ta mapeada por ManyToOne, é possivel fazer isso “navegar” na classe para trazer os dados.
Segue minha entidade Obra_Arquivos tem relacionamento com Obra:
@ManyToOne
@JoinColumn(name="cod_obra")
private Obra obra;
Quero aproveitar se é possivel para preencher os itens do select com as obras cadastradas.
To tentando assim:
<p:selectOneMenu id="Obras" value="#{obraArquivoBean.obraArquivos.cod_obra_arquiv}">
<f:selectItems value="#{obraArquivoBean.obraArquivos.obra}" var="obraArq"
itemLabel="#{obraArq.cod_obra}" itemValue="#{obraArq.des_obra}"></f:selectItems>
</p:selectOneMenu>
Kra nao traz nada, que to fazendo de M…??? ouvi falar q tem q converter isso é necessário ??? do jeito q fiz da certo ?
To pela ajuda galera, valeu!
Pessoal nada? Se tiver algum exemplo de aplicação com List q seja etc.
Me ajudem.
Bom dia caro amigo
Aqui na empresa usamos o SelectOne Menu assim:
<h:selectOneMenu binding="#{ veiculo.rastreador }" style="width:150px;">
<f:selectItem itemValue="" itemLabel="Selecione"/>
<f:selectItems value="#{ veiculo.rastreadores }"/>
<a4j:support event="onchange" action="#{ veiculo.getAllRastreadores }" reRender="equipamento"/>
</h:selectOneMenu>
onde:
rastreador é um public HtmlSelectOneMenu;
precisa do get e set
rastreadores é um public List;
no caso dos rastreadores o get e o set são assim:
public List<SelectItem> getRastreadores() {
if( rastreadores == null ) {
rastreadores = new ArrayList<SelectItem>();
List<PadraoTableSuggest> list = new TsRastreadorDao().getMarcas();
for ( PadraoTableSuggest t : list ) {
rastreadores.add( new SelectItem( t.getId() , t.getNome() ));
}
}
return rastreadores;
}
public void setRastreadores(List<SelectItem> rastreadores) {
this.rastreadores = rastreadores;
}
Aqui funciona certinho!
Espero ter ajudado um pouco!
Com certeza ajudou eu imaginava somente em reaproveitamento ja que tava usando hibernate fazendo o relacionamento bidirecional, achei q poderia usar a classe do relacionamento que é a mesma que vou carregar na combo para isso.
Tipo #{obraArquivoBean.obraArquivos.obra} --> onde obra é minha classe relacionada no ManyToOne.
Se isso for possivel e alguem q ler saber por favor poste pelo menos pra mim saber se isso q penso esta correto.