Apos alterar o que voce me pediu ocorreu um erro na conversão:
java.lang.ClassCastException: java.lang.Integer cannot be cast to modelo.Bairro
at converter.BairroConverter.getAsString(BairroConverter.java:40)
at org.primefaces.component.autocomplete.AutoCompleteRenderer.encodeSuggestionsAsList(AutoCompleteRenderer.java:434)
at org.primefaces.component.autocomplete.AutoCompleteRenderer.encodeSuggestions(AutoCompleteRenderer.java:366)
at org.primefaces.component.autocomplete.AutoCompleteRenderer.encodeResults(AutoCompleteRenderer.java:116)
at org.primefaces.component.autocomplete.AutoCompleteRenderer.encodeEnd(AutoCompleteRenderer.java:98)Erro na conversão
Com ficou:
itemValue="#{bairro.idBairro}"
Onde deu o erro:
O value chegou com o valor : 15
public String getAsString(FacesContext context, UIComponent component,
Object value) {
if (value == null) {
return "";
}
Bairro bairro = new Bairro();
try {
bairro = (Bairro) value; //Erro ocorreu aqui.
} catch (Exception e) {
FacesUtil.adiconarMensagem(FacesMessage.SEVERITY_FATAL, "Erro.",
"Erro no conversor.");
System.out.println("Erro na conversão");
e.printStackTrace();
}
return bairro.getNomeBairro();
Classe Bairro:
package modelo;
//imports
@Entity
@Table
public class Bairro implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "IDBairro")
private Integer idBairro;
@Column(name = "Bairro", length = 40)
private String nomeBairro;
@OneToMany(mappedBy = "bairro", cascade = CascadeType.ALL)
private Set<Endereco> enderecos = new HashSet<Endereco>();
public Bairro(Integer idBairro, String nomeBairro, Set<Endereco> enderecos) {
super();
this.idBairro = idBairro;
this.nomeBairro = nomeBairro;
this.enderecos = enderecos;
}
public Bairro() {
super();
}
//Set e Get
@Override
public String toString() {
return "Bairro [idBairro=" + idBairro + ", nomeBairro=" + nomeBairro
+ ", enderecos=" + enderecos + "]";
}
}