Ola pessoal,
Estou fazendo uma função de compra onde tenho um selectOneMenu que não esta carregando os dados do fornecedor.
No método finalizar() eu carrego todos os selectOneMenu porem somente o fornecedor não carrega mas não da erro algum.
public class Fornecedor extends Empresa {
@Column(name="responsavel_legal", length = 60, nullable = false)
private String responsavelLegal;
@Transient
private String telefone;...
`public class Empresa extends GenericDomain {
private static final long serialVersionUID = 1L;
@Column(name="razao_social", length = 60, nullable = false)
private String razaoSocial;
@Column(name="nome_fantasia", length = 60, nullable = false)
private String nomeFantasia;
@Column(name="cnpj", length = 19, nullable = false, unique = true)
private String cnpj;
…
public void finalizar(){
try{
compra.setDataCompra(new Date());
FuncionarioDAO funcionarioDAO = new FuncionarioDAO();
funcionarios = funcionarioDAO.listarOrdenado();
TipoPagamentoDAO tipoPagamentoDAO = new TipoPagamentoDAO();
tiposPagamentos = tipoPagamentoDAO.listar("descricao");
FormaPagamentoDAO formaPagamentoDAO = new FormaPagamentoDAO();
formasPagamentos = formaPagamentoDAO.listar("descricao");
FornecedorDAO fornecedorDAO = new FornecedorDAO();
fornecedores = fornecedorDAO.listarOrdenado();
}catch(RuntimeException erro){
Messages.addGlobalError("Ocorreu um erro ao tentar finalizar a compra");
erro.printStackTrace();
}
}
public class FornecedorDAO extends GenericDAO<Fornecedor> { @SuppressWarnings("unchecked") public List<Fornecedor> listarOrdenado() { Session sessao = HibernateUtil.getFabricaDeSessoes().openSession(); try { Criteria consulta = sessao.createCriteria(Empresa.class); consulta.createAlias("nomeFantasia", "p"); consulta.addOrder(Order.asc("p.nomeFantasia")); List<Fornecedor> resultado = consulta.list(); return resultado; } catch (RuntimeException erro) { throw erro; } finally { sessao.close(); } }
.XHTML
` <p:outputLabel for=“fornecedorF” value=“Fornecedor:” />
<p:selectOneMenu id=“fornecedorF” value="#{compraBean.compra.fornecedor}"
converter=“omnifaces.SelectItemsConverter” filter=“true"
filterMatchMode=“contains” required=“true"
requiredMessage=“O campo Fornecedor é obrigatório”>
<f:selectItem noSelectionOption=“true"
itemLabel=“Selecione um fornecedor” />
<f:selectItems value=”#{compraBean.fornecedores}” var=“fornecedor"
itemValue=”#{fornecedor}“
itemLabel=”#{fornecedor.codigo} - #{fornecedor.empresa.nomeFantasia}” />
</p:selectOneMenu>``