Olá pessoal.Estou com um problema e gostaria de uma ajuda de voces.O erro é que meu combox combox (selectOneMenu ) está retornando erro de vazio.
Segue as classes
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.sistemajuridico.entity;
import java.io.Serializable;
import java.util.Collection;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
/**
*
* @author Andrei
*/
@Entity
@Table(name = "naturezas_acao")
@NamedQueries({@NamedQuery(name = "NaturezasAcao.findAll", query = "SELECT n FROM NaturezasAcao n"), @NamedQuery(name = "NaturezasAcao.findByIdNaturezasAcao", query = "SELECT n FROM NaturezasAcao n WHERE n.idNaturezasAcao = :idNaturezasAcao"), @NamedQuery(name = "NaturezasAcao.findByDescricao", query = "SELECT n FROM NaturezasAcao n WHERE n.descricao = :descricao"), @NamedQuery(name = "NaturezasAcao.findByFlagAtivo", query = "SELECT n FROM NaturezasAcao n WHERE n.flagAtivo = :flagAtivo")})
public class NaturezasAcao implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "idNaturezas_Acao")
private Integer idNaturezasAcao;
@Basic(optional = false)
@Column(name = "Descricao")
private String descricao;
@Column(name = "Flag_Ativo")
private Character flagAtivo;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "idNaturezasAcao")
private Collection<TiposAcao> tiposAcaoCollection;
public NaturezasAcao() {
}
public NaturezasAcao(Integer idNaturezasAcao) {
this.idNaturezasAcao = idNaturezasAcao;
}
public NaturezasAcao(Integer idNaturezasAcao, String descricao) {
this.idNaturezasAcao = idNaturezasAcao;
this.descricao = descricao;
}
public Integer getIdNaturezasAcao() {
return idNaturezasAcao;
}
public void setIdNaturezasAcao(Integer idNaturezasAcao) {
this.idNaturezasAcao = idNaturezasAcao;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public Character getFlagAtivo() {
return flagAtivo;
}
public void setFlagAtivo(Character flagAtivo) {
this.flagAtivo = flagAtivo;
}
public Collection<TiposAcao> getTiposAcaoCollection() {
return tiposAcaoCollection;
}
public void setTiposAcaoCollection(Collection<TiposAcao> tiposAcaoCollection) {
this.tiposAcaoCollection = tiposAcaoCollection;
}
@Override
public int hashCode() {
int hash = 0;
hash += (idNaturezasAcao != null ? idNaturezasAcao.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof NaturezasAcao)) {
return false;
}
NaturezasAcao other = (NaturezasAcao) object;
if ((this.idNaturezasAcao == null && other.idNaturezasAcao != null) || (this.idNaturezasAcao != null && !this.idNaturezasAcao.equals(other.idNaturezasAcao))) {
return false;
}
return true;
}
@Override
public String toString() {
return "br.com.sistemajuridicoejb.entity.NaturezasAcao[idNaturezasAcao=" + idNaturezasAcao + "]";
}
}
package br.com.sistemajuridico.sessionBean;
import br.com.sistemajuridico.entity.TiposAcao;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
/**
*
* @author Andrei
*/
@Stateless
public class TiposAcaoFacade implements TiposAcaoFacadeLocal {
@PersistenceContext
private EntityManager em;
public void create(TiposAcao tiposAcao) {
em.persist(tiposAcao);
}
public void edit(TiposAcao tiposAcao) {
em.merge(tiposAcao);
}
public void remove(TiposAcao tiposAcao) {
em.remove(em.merge(tiposAcao));
}
public TiposAcao find(Object id) {
return em.find(TiposAcao.class, id);
}
public List<TiposAcao> findAll() {
return em.createQuery("select object(o) from TiposAcao as o").getResultList();
}
public List listarNaturezasAcao(){
try{
Query q=em.createQuery("select n from NaturezasAcao n");
return q.getResultList();
}finally {
em.close();
}
}
package br.com.sistemajuridico.sessionBean;
import br.com.sistemajuridico.entity.TiposAcao;
import java.util.List;
import javax.ejb.Local;
/**
*
* @author Andrei
*/
@Local
public interface TiposAcaoFacadeLocal {
void create(TiposAcao tiposAcao);
void edit(TiposAcao tiposAcao);
void remove(TiposAcao tiposAcao);
TiposAcao find(Object id);
List<TiposAcao> findAll();
List listarNaturezasAcao();
}
package br.com.sistemajuridicowar.controller;
import br.com.sistemajuridico.sessionBean.TiposAcaoFacadeLocal;
import br.com.sistemajuridico.entity.TiposAcao;
import br.com.sistemajuridico.sessionBean.TiposAcaoFacade;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;
public class TiposAcaoController {
@EJB
private TiposAcaoFacadeLocal facade;
private TiposAcao tiposAcao;
private DataModel model;
public String novoTiposAcao() {
this.tiposAcao = new TiposAcao();
return "novoTiposAcao";
}
public TiposAcao getTiposAcao() {
return tiposAcao;
}
public void setTiposAcao(TiposAcao tiposAcao) {
this.tiposAcao = tiposAcao;
}
public DataModel getTodos()
throws Exception {
model =
new ListDataModel(facade.findAll());
return model;
}
public TiposAcao getTiposAcaoFromEditOrDelete() {
tiposAcao =
(TiposAcao) model.getRowData();
return tiposAcao;
}
public String editar() {
tiposAcao = getTiposAcaoFromEditOrDelete();
setTiposAcao(tiposAcao);
return "editarTiposAcao";
}
public String excluir()
throws Exception {
tiposAcao = getTiposAcaoFromEditOrDelete();
facade.remove(tiposAcao);
return "sucessoTiposAcao";
}
public String salvar()
throws Exception {
if (tiposAcao.getIdTiposAcao() == null) {
facade.create(tiposAcao);
} else {
facade.edit(tiposAcao);
}
return "sucessoTiposAcao";
}
public List <SelectItem> getBuscarNaturezasAcao(){
TiposAcaoFacade tiposAcaoFacade=new TiposAcaoFacade();
Iterator <TiposAcao> lista=tiposAcaoFacade.listarNaturezasAcao().iterator();
List <SelectItem> listaItens=new ArrayList();
TiposAcao aux=null;
while(lista.hasNext()){
aux=lista.next();
listaItens.add(new SelectItem(aux.getIdNaturezasAcao(),aux.getDescricao()));
}
tiposAcaoFacade=null;
return listaItens;
}
}
[b]<h:selectOneMenu id="Sele"
required="True"
value="#{tiposAcaoC.tiposAcao.idNaturezasAcao}"
label="OI"
immediate="false"
>
<f:selectItems value="#{tiposAcaoC.buscarNaturezasAcao}" />
</h:selectOneMenu>[/b]