Tenho uma clase Cadastrados e ela tem uma lista de tipo cadastrado não conseguindo adicionar na lista com o SelectOneMenu , alguem pode me ajudar , quando eu aperto o botao confirmar na pagina web fica vermelho ao redor da SelectOneMenu
<p:selectOneMenu id="comboTipo" value="#{CadastradosControl.tipocadastrado}" style="width:400px">
<f:selectItem itemLabel="Selecione o tipo" itemValue=""/>
<f:selectItems value="#{CadastradosControl.listaTipoCadastrados}" var="tipo"
itemLabel="#{tipo.tipo}" itemValue="#{tipo}"/>
</p:selectOneMenu>
<b:commandButton value="Confirmar" update="formulario"
process="formulario"
actionListener="#{CadastradosControl.confirmar}" look="success"/>
ManagedBen:
package br.com.senai.fatesg.primefaces.controle;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.event.ActionEvent;
import javax.inject.Named;
import org.springframework.beans.factory.annotation.Autowired;
import br.com.ambientinformatica.ambientjsf.util.UtilFaces;
import br.com.senai.fatesg.primefaces.entidade.Cadastrados;
import br.com.senai.fatesg.primefaces.entidade.TipoCadastrado;
import br.com.senai.fatesg.primefaces.persistencia.CadastradosDao;
import br.com.senai.fatesg.primefaces.persistencia.TipoCadastradosDao;
@Named("CadastradosControl")
@RequestScoped
public class CadastradosControl {
// entidades
private Cadastrados cadastrado = new Cadastrados();
private TipoCadastrado tipocadastrado = new TipoCadastrado();
@Autowired
private CadastradosDao cadastradosDao;
@Autowired
private TipoCadastradosDao tipoCadastradoDao;
// listas
private List<Cadastrados> cadastrados = new ArrayList<Cadastrados>();
private List<TipoCadastrado> listaTipoCadastrados = new ArrayList<TipoCadastrado>();
private String nome;
@PostConstruct
public void init() {
listar(null);
}
public void listar(ActionEvent evt) {
try {
cadastrados = cadastradosDao.listar();
listaTipoCadastrados = tipoCadastradoDao.listar();
} catch (Exception e) {
UtilFaces.addMensagemFaces(e);
}
}
public void PesquisarNome() {
cadastrados = cadastradosDao.buscaPor(this.nome);
System.out.println();
}
public void confirmar() {
try {
cadastrado.addTipoCadastro(tipocadastrado);
cadastradosDao.incluir(cadastrado);
cadastrado = new Cadastrados();
} catch (Exception e) {
UtilFaces.addMensagemFaces(e);
}
}
public Cadastrados getCadastrado() {
return cadastrado;
}
public void setCadastrado(Cadastrados cadastrado) {
this.cadastrado = cadastrado;
}
public TipoCadastrado getTipocadastrado() {
return tipocadastrado;
}
public void setTipocadastrado(TipoCadastrado tipocadastrado) {
this.tipocadastrado = tipocadastrado;
}
public CadastradosDao getCadastradosDao() {
return cadastradosDao;
}
public void setCadastradosDao(CadastradosDao cadastradosDao) {
this.cadastradosDao = cadastradosDao;
}
public TipoCadastradosDao getTipoCadastradoDao() {
return tipoCadastradoDao;
}
public void setTipoCadastradoDao(TipoCadastradosDao tipoCadastradoDao) {
this.tipoCadastradoDao = tipoCadastradoDao;
}
public List<Cadastrados> getCadastrados() {
return cadastrados;
}
public void setCadastrados(List<Cadastrados> cadastrados) {
this.cadastrados = cadastrados;
}
public List<TipoCadastrado> getListaTipoCadastrados() {
return listaTipoCadastrados;
}
public void setListaTipoCadastrados(List<TipoCadastrado> listaTipoCadastrados) {
this.listaTipoCadastrados = listaTipoCadastrados;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
Classe cadastrados:
package br.com.senai.fatesg.primefaces.entidade;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
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.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import org.hibernate.validator.constraints.NotBlank;
@Entity
public class Cadastrados {
@Id
@GeneratedValue(generator = "cadastrados_seq", strategy = GenerationType.SEQUENCE)
@SequenceGenerator(name = "cadastrados_seq", sequenceName = "cadastrados_seq", allocationSize = 1, initialValue = 1)
private Long id;
@NotBlank
@Column(nullable = false)
private String cpf;
@ManyToMany(cascade=CascadeType.ALL)
@JoinTable(name="pessoa_tipo",joinColumns={@JoinColumn(name="tipo_id")},
inverseJoinColumns={@JoinColumn(name="cadastrado_id")})
private List<TipoCadastrado> listPessoaImovelTipo = new ArrayList<TipoCadastrado>();
private String email;
private String nome;
private String celular;
private Date datadenascimento;
private int statuscadastro;
public void addTipoCadastro(TipoCadastrado tipoCadastrado){
listPessoaImovelTipo.add(tipoCadastrado);
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCelular() {
return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
public Date getDatadenascimento() {
return datadenascimento;
}
public void setDatadenascimento(Date datadenascimento) {
this.datadenascimento = datadenascimento;
}
public int getStatuscadastro() {
return statuscadastro;
}
public void setStatuscadastro(int statuscadastro) {
this.statuscadastro = statuscadastro;
}
public void setId(Long id) {
this.id = id;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Long getId() {
return id;
}
public List<TipoCadastrado> getListPessoaImovelTipo() {
return listPessoaImovelTipo;
}
public void setListPessoaImovelTipo(List<TipoCadastrado> listPessoaImovelTipo) {
this.listPessoaImovelTipo = listPessoaImovelTipo;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Cadastrados that = (Cadastrados) o;
return statuscadastro == that.statuscadastro &&
id.equals(that.id) &&
cpf.equals(that.cpf) &&
listPessoaImovelTipo.equals(that.listPessoaImovelTipo) &&
email.equals(that.email) &&
nome.equals(that.nome) &&
celular.equals(that.celular) &&
datadenascimento.equals(that.datadenascimento);
}
@Override
public int hashCode() {
return Objects.hash(id, cpf, listPessoaImovelTipo, email, nome, celular, datadenascimento, statuscadastro);
}
}
Já estou a algum tempo procurando como solucionar , ja usei alguns conversores porem nao dei conta de solucionar.
Conseguiram Entender ?
