Dúvida com Autcomplete do PrimeFaces

Pessoal, sou novo com o Primefaces, tenho dúvidas de como usar o Autocomplete, podem me ajudar?
Abaixo eu postei meu Managed, assim como o repository conrrespondente, gostaria de saber como criá-lo, se precisaria criar um método para isso e com faze-lo, se assim fosse necessário e também implementá-lo na visão, Agradeço muito, desde já.

Este é meu Managed Bean

[code]
package br.com.managedbeans;

import java.util.List;
import java.util.Map;

import javax.faces.bean.ManagedBean;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletRequest;

import br.com.modelo.Evento;
import br.com.repository.EventoRepository;

@ManagedBean
public class EventoBean {

private Evento evento = new Evento();
private List<Evento> eventos;

public void adiciona() {
	EntityManager manager = this.getManager();
	EventoRepository repository = new EventoRepository(manager);
	if (this.evento.getId() == null) {
		repository.adiciona(this.evento);
	} else {
		repository.atualiza(this.evento);
	}
	this.evento = new Evento();
	this.evento = null;
}

public void preparaAlteracao() {
	Map<String, String> params = FacesContext.getCurrentInstance()
			.getExternalContext().getRequestParameterMap();
	Long id = Long.parseLong(params.get("id"));
	EntityManager manager = this.getManager();
	EventoRepository repository = new EventoRepository(manager);
	this.evento = repository.procura(id);
}

public void remove() {
	Map<String, String> params = FacesContext.getCurrentInstance()
			.getExternalContext().getRequestParameterMap();
	Long id = Long.parseLong(params.get("id"));
	EntityManager manager = this.getManager();
	EventoRepository repository = new EventoRepository(manager);
	repository.remove(id);
	this.evento = null;
}

public List<Evento> getEventos() {
	if (this.eventos == null) {
		EntityManager manager = this.getManager();
		EventoRepository repository = new EventoRepository(manager);
		this.eventos = repository.getLista();
	}
	return this.eventos;

}

private EntityManager getManager() {
	FacesContext fc = FacesContext.getCurrentInstance();
	ExternalContext ec = fc.getExternalContext();
	HttpServletRequest request = (HttpServletRequest) ec.getRequest();
	EntityManager manager = (EntityManager) request
			.getAttribute("EntityManager");
	return manager;
}

public Evento getEvento() {
	return evento;
}

public void setEvento(Evento evento) {
	this.evento = evento;
}

public void setEventos(List<Evento> eventos) {
	this.eventos = eventos;
}

}

}[/code]

Repository:

[code]
package br.com.repository;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import br.com.modelo.Evento;

public class EventoRepository {
private EntityManager manager;

public EventoRepository(EntityManager manager) {
	this.manager = manager;
}

public void adiciona(Evento evento) {
	this.manager.persist(evento);
}

public void remove(long id) {
	Evento evento = this.procura(id);
	this.manager.remove(evento);
}

public Evento atualiza(Evento evento) {
	return this.manager.merge(evento);
}

public Evento procura(Long id) {
	return this.manager.find(Evento.class, id);
}

@SuppressWarnings("unchecked")
public List<Evento> getLista() {
	Query query = this.manager.createQuery("SELECT e FROM Evento e");
	return query.getResultList();
}

}

}[/code]

Bem mano vms lá … vou postar como fiz … depois de muito trampo …

View:

<h:outputText value="Fornecedor: "/>
<p:autoComplete value="#{entradaBean.fornecedorSelecionado}" completeMethod="#{entradaBean.completefornecedor}" 
			var="fornecedor" itemValue="#{fornecedor}" itemLabel="#{fornecedor.nome}"				 
			converter="Converter"
			onkeyup="this.value = this.value.toUpperCase();"/>

BEan:

public List<Fornecedor> completefornecedor(String query) {  

	ELContext context = FacesContext.getCurrentInstance().getELContext();
	this.entityManager = (EntityManager) FacesContext.getCurrentInstance().getApplication().getELResolver().getValue(context, null, "entityManager");
		
	EntradaRepository repository = new EntradaRepository(this.entityManager);
		
	List<Fornecedor> results = new ArrayList<Fornecedor>();
		
	if (fornecedores.isEmpty()){
		
		this.fornecedores = repository.fornecedores();
		
	}
		  
	for(Fornecedor f : fornecedores){
			
		if (f.getNome().startsWith(query)){
	
			results.add(f);
				
		}
	}
		
    return results; 
}

Repository:

public List<Fornecedor> fornecedores(){
		
	Query query = this.manager.createQuery("SELECT new br.com.controleestoque.model.Fornecedor(f.id, f.nome)" +
			" FROM Fornecedor f");
		
	return query.getResultList();	
}

Conversor:

@FacesConverter(value="Converter")
public class EntityConverter implements Converter {

	public Object getAsObject(FacesContext ctx, UIComponent component,
			String value) {
		System.out.println("ECV-GO");
		if (value != null) {
			return component.getAttributes().get(value);
		}
		return null;
	}

	public String getAsString(FacesContext ctx, UIComponent component,
			Object obj) {
		System.out.println("ECV-GS");
		if (obj != null && !"".equals(obj)) {
			String id;
			try {
				id = this.getId(getClazz(ctx, component), obj);
				if (id == null){
					id = "";
				}
				id = id.trim();
				component.getAttributes().put(id,
						getClazz(ctx, component).cast(obj));
				return id;
			} catch (SecurityException e) {
				e.printStackTrace(); // seu log aqui
			} catch (IllegalArgumentException e) {
				e.printStackTrace(); // seu log aqui
			} catch (NoSuchFieldException e) {
				e.printStackTrace(); // seu log aqui
			} catch (IllegalAccessException e) {
				e.printStackTrace(); // seu log aqui
			}
		}
		return null;
	}

	private Class<?> getClazz(FacesContext facesContext, UIComponent component) {
		return component.getValueExpression("value").getType(
				facesContext.getELContext());
	}

	public String getId(Class<?> clazz, Object obj) throws SecurityException,
			NoSuchFieldException, IllegalArgumentException,
			IllegalAccessException {
		for (Field field : clazz.getDeclaredFields()) {
			if ((field.getAnnotation(Id.class)) != null) {
				Field privateField = clazz.getDeclaredField(field.getName());
				privateField.setAccessible(true);
				if (privateField.get(clazz.cast(obj)) != null) {
					return (String)field.getType()
							.cast(privateField.get(clazz.cast(obj))).toString();
				} else {
					return null;
				}
			}
		}
		return null;
	}
}

Funcionando 100% . Abraços …

Man… Muito obrigado, vou testar agora…
qualquer coisa, dou um grito…
Um dia de vitórias pra ti, fica com Deus.

De onde vem este Fornecedor Selecionado?

Lá do Bean msmo …

[code]private Fornecedor fornecedorSelecionado;
public Fornecedor getFornecedorSelecionado() {
return fornecedorSelecionado;
}

public void setFornecedorSelecionado(Fornecedor fornecedorSelecionado) {
this.fornecedorSelecionado = fornecedorSelecionado;
}[/code]

Cara…
Estou sem sucesso.
Vou postar o que tentei.

Visão.

[code]<?xml version=“1.0” encoding=“ISO-8859-1”?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
http://www.w3.org/TR/html4/loose.dtd”>
<html xmlns=“http://www.w3.org/1999/xhtml
xmlns:h=“http://java.sun.com/jsf/html
xmlns:f=“http://java.sun.com/jsf/core
xmlns:ui=“http://java.sun.com/jsf/facelets
xmlns:p=“http://primefaces.org/ui”>

<h:head>
<title>Exemplo Autocomplete - PrimeFaces</title>
</h:head>
<body>
<ui:composition template="…/templates/template.xhtml">
<ui:define name=“content”>
<p:panel header=“Busca de Registros”>
<h:form>
<h:panelGrid columns=“2”>
<p:autoComplete value="#{eventoBean.eventoSelecionado}"
completeMethod="#{eventoBean.completeEvento}"
var=“evento”
itemValue="#{evento}"
itemLabel="#{evento.evento}"
/>

			&lt;/h:panelGrid&gt;
		&lt;/h:form&gt;
	&lt;/p:panel&gt;


&lt;/ui:define&gt;

</ui:composition>
</body>
</html>
[/code]

Bean.

[code] public List<Evento> completeEvento(String query) {
EventoRepository repository = new EventoRepository(getManager());
List<Evento> results = new ArrayList<Evento>();
if (eventos.isEmpty()) {
this.eventos = repository.eventos();
}
for (Evento e : eventos) {
results.add(e);
}
return results;

}[/code]

Repository.

@SuppressWarnings("unchecked")
	public List&lt;Evento&gt; eventos() {
		Query query = this.manager
				.createQuery("Select new be.com.modelo.Evento(evento.evento, evento.id)"
						+ " From Evento");
		return query.getResultList();

Onde posso estar errando?

1º - vc precisara implementar o Converter mano …
2º - Seu select esta realmente funcionando ?? vc criou um construtor na classe Evento que recebe evento e id ??

Vou postar tudo, mas não criei o conveter, na classe evento tem o Id e o evento, abaixo:
Pq tem q ter o converter?

package br.com.modelo;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
public class Evento implements Serializable {

	private static final long serialVersionUID = 2278818897696286095L;

	@Id
	@GeneratedValue
	Long id;
	@Column(length = 40, nullable = false, unique = true)
	private String evento;
	private String resumo;
	private String descricao;
	@Temporal(TemporalType.DATE)
	private Date dataEvento;
	private String local;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getEvento() {
		return evento;
	}

	public void setEvento(String evento) {
		this.evento = evento;
	}

	public String getResumo() {
		return resumo;
	}

	public void setResumo(String resumo) {
		this.resumo = resumo;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public Date getDataEvento() {
		return dataEvento;
	}

	public void setDataEvento(Date dataEvento) {
		this.dataEvento = dataEvento;
	}

	public String getLocal() {
		return local;
	}

	public void setLocal(String local) {
		this.local = local;
	}

}

Bem … o seu select realmente não esta funcionando, só para vc entender eu montei o select daquela forma pq eu queria que me trouxesse apenas alguns dados especificos, então para isso usamos o “new” dentro da cláusula só q para o JPA entender vc precisa criar um construtor com os mesmos parametros na classe Entity, no seu caso pode criar uma Select simples ("Select From Evento") que ira resolver ao seu problema …
Quanto ao Converter cara sera para passar o Obj para String e vice-versa, vc precisara dele em outros componentes como o selectonemenu …

http://www.rponte.com.br/2008/07/26/entity-converters-pra-da-e-vender/

O que eu uso tirei daqui:

http://www.guj.com.br/java/220692-para-voce-entityconverter-para-qualquer-entidade-e-tipo-de-id

E vc tb pode baixar a apostila que a K19 disponibiliza sobre Persistencia com JPA/Hibernate … muito boa …

Cara, como deve ser a estrutura do converter?
ele deve conter o que pego da visão?
Como?

Postei o converter junto com o código lá em cima … logo abaixo do repository

Diego, acho que posso estar errando o SQL.

tenta assim:

[code]@SuppressWarnings(“unchecked”)
public List lista(){
Query query = this.entityManager.createQuery(“Select e From Evento as e”);

return query.getResultList();

}[/code]

Veja que lindo é:

07/03/2012 13:59:23 org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:/Program Files/Java/jre6/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\TortoiseSVN\bin;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\java\jad158win;C:\Program Files\Common Files\GTK\2.0\bin;C:\Program Files\Personal Communications;C:\Program Files\Java\jre6\bin;C:\java\ant\bin;. 07/03/2012 13:59:23 org.apache.tomcat.util.digester.SetPropertiesRule begin AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ProjetoEstudo' did not find a matching property. 07/03/2012 13:59:23 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] 07/03/2012 13:59:23 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 07/03/2012 13:59:23 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 535 ms 07/03/2012 13:59:23 org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina 07/03/2012 13:59:23 org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.20 07/03/2012 13:59:31 org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://mojarra.dev.java.net/mojarra_ext is already defined 07/03/2012 13:59:31 org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://java.sun.com/jsf/html is already defined 07/03/2012 13:59:31 org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://java.sun.com/jsf/core is already defined 07/03/2012 13:59:31 com.sun.faces.config.ConfigureListener contextInitialized INFO: Inicializando Mojarra 2.1.7 (SNAPSHOT 20120206) para o contexto '/ProjetoEstudo' 07/03/2012 13:59:32 com.sun.faces.spi.InjectionProviderFactory createInstance INFO: JSF1048: Anotações PostConstruct/PreDestroy presentes. Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas. 07/03/2012 13:59:32 com.sun.faces.mgbean.BeanManager addBean AVISO: JSF1074: O bean gerenciado denominado 'eventoBean' já foi registrado. Substituindo o tipo de classe do bean gerenciado br.com.managedbeans.EventoBean por br.com.managedbeans.EventoBean. 07/03/2012 13:59:32 org.primefaces.webapp.PostConstructApplicationEventListener processEvent INFO: Running on PrimeFaces 3.1.1 0 [Thread-2] INFO org.hibernate.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {4.0.1.Final} 0 [Thread-2] INFO org.hibernate.Version - HHH000412: Hibernate Core {4.0.1.Final} 0 [Thread-2] INFO org.hibernate.cfg.Environment - HHH000206: hibernate.properties not found 1 [Thread-2] INFO org.hibernate.cfg.Environment - HHH000021: Bytecode provider name : javassist 578 [Thread-2] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000402: Using Hibernate built-in connection pool (not for production use!) 594 [Thread-2] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000115: Hibernate connection pool size: 20 594 [Thread-2] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000006: Autocommit mode: true 594 [Thread-2] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/Eventos] 594 [Thread-2] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000046: Connection properties: {user=root, autocommit=true, release_mode=auto} 781 [Thread-2] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect 828 [Thread-2] INFO org.hibernate.engine.transaction.internal.TransactionFactoryInitiator - HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory 828 [Thread-2] INFO org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory - HHH000397: Using ASTQueryTranslatorFactory 1233 [Thread-2] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate - HHH000228: Running hbm2ddl schema update 1233 [Thread-2] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate - HHH000102: Fetching database metadata 1233 [Thread-2] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate - HHH000396: Updating schema 1234 [Thread-2] INFO org.hibernate.tool.hbm2ddl.TableMetadata - HHH000261: Table found: Eventos.evento 1234 [Thread-2] INFO org.hibernate.tool.hbm2ddl.TableMetadata - HHH000037: Columns: [id, resumo, evento, local, descricao, dataevento] 1234 [Thread-2] INFO org.hibernate.tool.hbm2ddl.TableMetadata - HHH000108: Foreign keys: [] 1234 [Thread-2] INFO org.hibernate.tool.hbm2ddl.TableMetadata - HHH000126: Indexes: [primary, evento] 1250 [Thread-2] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate - HHH000232: Schema update complete 07/03/2012 13:59:34 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] 07/03/2012 13:59:34 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] 07/03/2012 13:59:34 org.apache.catalina.startup.Catalina start INFO: Server startup in 10653 ms 07/03/2012 13:59:44 com.sun.faces.lifecycle.ApplyRequestValuesPhase execute AVISO: /pages/testeAutocomplete.xhtml @24,31 completeMethod="#{eventoBean.completeEvento}": java.lang.NullPointerException javax.el.ELException: /pages/testeAutocomplete.xhtml @24,31 completeMethod="#{eventoBean.completeEvento}": java.lang.NullPointerException at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111) at org.primefaces.component.autocomplete.AutoComplete.broadcast(AutoComplete.java:330) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794) at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:935) at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at br.com.estudo.filters.JPAFilter.doFilter(JPAFilter.java:33) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:279) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at br.com.managedbeans.EventoBean.completeEvento(EventoBean.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.el.parser.AstValue.invoke(AstValue.java:262) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) ... 26 more

Que lindo:

07/03/2012 13:59:23 org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:/Program Files/Java/jre6/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\TortoiseSVN\bin;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\java\jad158win;C:\Program Files\Common Files\GTK\2.0\bin;C:\Program Files\Personal Communications;C:\Program Files\Java\jre6\bin;C:\java\ant\bin;. 07/03/2012 13:59:23 org.apache.tomcat.util.digester.SetPropertiesRule begin AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ProjetoEstudo' did not find a matching property. 07/03/2012 13:59:23 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] 07/03/2012 13:59:23 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 07/03/2012 13:59:23 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 535 ms 07/03/2012 13:59:23 org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina 07/03/2012 13:59:23 org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.20 07/03/2012 13:59:31 org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://mojarra.dev.java.net/mojarra_ext is already defined 07/03/2012 13:59:31 org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://java.sun.com/jsf/html is already defined 07/03/2012 13:59:31 org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://java.sun.com/jsf/core is already defined 07/03/2012 13:59:31 com.sun.faces.config.ConfigureListener contextInitialized INFO: Inicializando Mojarra 2.1.7 (SNAPSHOT 20120206) para o contexto '/ProjetoEstudo' 07/03/2012 13:59:32 com.sun.faces.spi.InjectionProviderFactory createInstance INFO: JSF1048: Anotações PostConstruct/PreDestroy presentes. Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas. 07/03/2012 13:59:32 com.sun.faces.mgbean.BeanManager addBean AVISO: JSF1074: O bean gerenciado denominado 'eventoBean' já foi registrado. Substituindo o tipo de classe do bean gerenciado br.com.managedbeans.EventoBean por br.com.managedbeans.EventoBean. 07/03/2012 13:59:32 org.primefaces.webapp.PostConstructApplicationEventListener processEvent INFO: Running on PrimeFaces 3.1.1 0 [Thread-2] INFO org.hibernate.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {4.0.1.Final} 0 [Thread-2] INFO org.hibernate.Version - HHH000412: Hibernate Core {4.0.1.Final} 0 [Thread-2] INFO org.hibernate.cfg.Environment - HHH000206: hibernate.properties not found 1 [Thread-2] INFO org.hibernate.cfg.Environment - HHH000021: Bytecode provider name : javassist 578 [Thread-2] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000402: Using Hibernate built-in connection pool (not for production use!) 594 [Thread-2] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000115: Hibernate connection pool size: 20 594 [Thread-2] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000006: Autocommit mode: true 594 [Thread-2] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/Eventos] 594 [Thread-2] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000046: Connection properties: {user=root, autocommit=true, release_mode=auto} 781 [Thread-2] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect 828 [Thread-2] INFO org.hibernate.engine.transaction.internal.TransactionFactoryInitiator - HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory 828 [Thread-2] INFO org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory - HHH000397: Using ASTQueryTranslatorFactory 1233 [Thread-2] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate - HHH000228: Running hbm2ddl schema update 1233 [Thread-2] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate - HHH000102: Fetching database metadata 1233 [Thread-2] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate - HHH000396: Updating schema 1234 [Thread-2] INFO org.hibernate.tool.hbm2ddl.TableMetadata - HHH000261: Table found: Eventos.evento 1234 [Thread-2] INFO org.hibernate.tool.hbm2ddl.TableMetadata - HHH000037: Columns: [id, resumo, evento, local, descricao, dataevento] 1234 [Thread-2] INFO org.hibernate.tool.hbm2ddl.TableMetadata - HHH000108: Foreign keys: [] 1234 [Thread-2] INFO org.hibernate.tool.hbm2ddl.TableMetadata - HHH000126: Indexes: [primary, evento] 1250 [Thread-2] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate - HHH000232: Schema update complete 07/03/2012 13:59:34 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] 07/03/2012 13:59:34 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] 07/03/2012 13:59:34 org.apache.catalina.startup.Catalina start INFO: Server startup in 10653 ms 07/03/2012 13:59:44 com.sun.faces.lifecycle.ApplyRequestValuesPhase execute AVISO: /pages/testeAutocomplete.xhtml @24,31 completeMethod="#{eventoBean.completeEvento}": java.lang.NullPointerException javax.el.ELException: /pages/testeAutocomplete.xhtml @24,31 completeMethod="#{eventoBean.completeEvento}": java.lang.NullPointerException at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111) at org.primefaces.component.autocomplete.AutoComplete.broadcast(AutoComplete.java:330) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794) at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:935) at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at br.com.estudo.filters.JPAFilter.doFilter(JPAFilter.java:33) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:279) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at br.com.managedbeans.EventoBean.completeEvento(EventoBean.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.el.parser.AstValue.invoke(AstValue.java:262) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) ... 26 more

07/03/2012 14:08:45 com.sun.faces.lifecycle.ApplyRequestValuesPhase execute
AVISO: /pages/testeAutocomplete.xhtml @24,31 completeMethod="#{eventoBean.completeEvento}": java.lang.NullPointerException
javax.el.ELException: /pages/testeAutocomplete.xhtml @24,31 completeMethod="#{eventoBean.completeEvento}": java.lang.NullPointerException
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111)
at org.primefaces.component.autocomplete.AutoComplete.broadcast(AutoComplete.java:330)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:935)
at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at br.com.estudo.filters.JPAFilter.doFilter(JPAFilter.java:33)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:279)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at br.com.managedbeans.EventoBean.completeEvento(EventoBean.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
… 26 more

O erro ocorre quando vc carrega a página ? ou quando vc executa o método ?
Perceba que ele nem chega a fazer a consulta no Repository:

Caused by: java.lang.NullPointerException at br.com.managedbeans.EventoBean.completeEvento(EventoBean.java:56)

Outra coisa que reparei, vc não esta Instanciando a Lista de Eventos …

crie um construtor da sua classe assim:

[code]public class EventoBean {

private Evento evento;  
private List<Evento> eventos;  

public EventoBean(){

         evento  = new Evento();
         eventos = new ArrayList<Evento>();

}[/code]

Cara, apesar de ter listado, o problema agora é que lista tudo, não apenas referenciando o que eu digito.
Como resolver esse problema?