Error de converter no autoComplete

estou com esse erro na hora de inserir o pedido com autocomplete do primefaces para buscar o cliente

where
    endereco0_.cod_endereco=?

entrou no converter retorna um cliente: br.com.vendas.model.Cliente@20
meio do converter final: br.com.vendas.model.Cliente@20
entrou no converter retorna um long: br.com.vendas.model.Cliente@20
ago 02, 2017 8:30:00 PM com.sun.faces.lifecycle.ProcessValidationsPhase execute
ADVERTÊNCIA: For input string: "br.com.vendas.model.Cliente@20"
java.lang.NumberFormatException: For input string: "br.com.vendas.model.Cliente@20"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:589)
at java.lang.Long.(Long.java:965)
at br.com.vendas.converter.ClienteConverter.getAsObject(ClienteConverter.java:32)
at org.primefaces.component.autocomplete.AutoCompleteRenderer.getConvertedValue(AutoCompleteRenderer.java:670)
at javax.faces.component.UIInput.getConvertedValue(Unknown Source)
at javax.faces.component.UIInput.validate(Unknown Source)
at javax.faces.component.UIInput.executeValidate(Unknown Source)
at javax.faces.component.UIInput.processValidators(Unknown Source)
at javax.faces.component.UIComponentBase.processValidators(Unknown Source)
at javax.faces.component.UIForm.processValidators(Unknown Source)
at javax.faces.component.UIComponentBase.processValidators(Unknown Source)
at javax.faces.component.UIComponentBase.processValidators(Unknown Source)
at javax.faces.component.UIViewRoot.processValidators(Unknown Source)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(Unknown Source)
at com.sun.faces.lifecycle.Phase.doPhase(Unknown Source)
at com.sun.faces.lifecycle.LifecycleImpl.execute(Unknown Source)
at javax.faces.webapp.FacesServlet.service(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

2017-08-02 20:30:00,852 ERROR [br.com.vendas.util.jsf.JsfExceptionHandler] Erro de sistema: For input string: "br.com.vendas.model.Cliente@20"
javax.faces.FacesException: For input string: "br.com.vendas.model.Cliente@20"
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(Unknown Source)
at com.sun.faces.lifecycle.Phase.doPhase(Unknown Source)
at com.sun.faces.lifecycle.LifecycleImpl.execute(Unknown Source)
at javax.faces.webapp.FacesServlet.service(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NumberFormatException: For input string: "br.com.vendas.model.Cliente@20"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:589)
at java.lang.Long.(Long.java:965)
at br.com.vendas.converter.ClienteConverter.getAsObject(ClienteConverter.java:32)
at org.primefaces.component.autocomplete.AutoCompleteRenderer.getConvertedValue(AutoCompleteRenderer.java:670)
at javax.faces.component.UIInput.getConvertedValue(Unknown Source)
at javax.faces.component.UIInput.validate(Unknown Source)
at javax.faces.component.UIInput.executeValidate(Unknown Source)
at javax.faces.component.UIInput.processValidators(Unknown Source)
at javax.faces.component.UIComponentBase.processValidators(Unknown Source)
at javax.faces.component.UIForm.processValidators(Unknown Source)
at javax.faces.component.UIComponentBase.processValidators(Unknown Source)
at javax.faces.component.UIComponentBase.processValidators(Unknown Source)
at javax.faces.component.UIViewRoot.processValidators(Unknown Source)
… 25 more

e esse é meu converter

package br.com.vendas.converter;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

import br.com.vendas.dao.CadastroClienteDAO;
import br.com.vendas.model.Cliente;
import br.com.vendas.util.cdi.CDIServiceLocator;

@FacesConverter(forClass=Cliente.class)
public class ClienteConverter implements Converter
{
	
	//@Inject
	private CadastroClienteDAO CadastroClienteDAO;

	public ClienteConverter() 
	{
		this.CadastroClienteDAO = (CadastroClienteDAO) CDIServiceLocator.getBean(CadastroClienteDAO.class);
	}
	@Override
	public Object getAsObject(FacesContext context, UIComponent component, String value) 
	{
		Cliente retorno = null;
		if(value != null)
		{
			
			
			Long codigo = new Long(value);
			
			retorno = this.CadastroClienteDAO.porCodigo(codigo);
			System.out.println("final do converter: "+retorno);
		}
		return retorno;
	}

	@Override
	public String getAsString(FacesContext context, UIComponent component, Object value)
	{
		if (value != null) 
		{
			
			Cliente cliente = (Cliente) value;
			
			return cliente.getCodigo() == null ? null:cliente.toString();
		}
		System.out.println("retornou nada do converter");
		return "";
		
	}

}

“br.com.vendas.model.Cliente@20” não é um número, ai da erro, se tentar converter para número.
Aparentemente você queria pegar o valor 20, mais o nome da classe foi junto.
Obs.: também aparentemente o xClasse@20, pode estar relacionado à sobrescrita do método toString.

Sugestão 1: na instrução retorno = this.CadastroClienteDAO.porCodigo(codigo);, reveja a implementação método porCodigo(codigo), é só um chute, pois não conheço a implementação.

Sugestão 2:
Use um ponto de interrupção antes e outro depois da linha 32, na classe ClienteConverter, no método getAsObject, se não houver instruções, coloque dois System.out.println(), só para fins de marcação mesmo, ai, use o debug e veja quais variáveis deveriam estar aptas a serem números e não são.

Sugestão 3: em se tratando de cadastramento, a interface que provê a codificação pode estar passando algo além do número, ou seja, uma string que não pode ser convertida.

No momento, não tenho mais sugestões, mais, aparenta ser algo simples.

Aqui é como eu estou chamando na view :

<p:outputLabel value="Cliente" for="cliente" />
		<p:autoComplete id="cliente" value="#{cadastroPedidoBean.pedido.cliente}" 
			completeMethod="#{cadastroPedidoBean.buscarCliente}" var="cliente" itemLabel="#{cliente.nome}"
			itemValue="#{cliente}" forceSelection="true" dropdown="true"/>

esse é meu bean:

package br.com.vendas.controller;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;

import br.com.vendas.dao.CadastroClienteDAO;
import br.com.vendas.model.Cliente;
import br.com.vendas.model.FormaPagamento;
import br.com.vendas.model.Pedido;
import br.com.vendas.service.CadastroPedidoService;
import br.com.vendas.util.jsf.FacesUtil;

@Named
@ViewScoped
public class CadastroPedidoBean implements Serializable 
{
	private static final long serialVersionUID = 1L;
	
	@Inject
	private CadastroClienteDAO cadastroClienteDAO;
	@Inject
	private CadastroPedidoService cadastroPedidoService;
	
	private Pedido pedido;
	
	
	
	
		//Método com uma anotação de @postconstruct, onde a mesma carrega o método limpar quando a página é carregada
//------------------------------------------------------------------------------------------------------------------------
	@PostConstruct
	public void iniciallizar()
	{
		limpar();
	}
	
										//Método para salvar o pedido.
//------------------------------------------------------------------------------------------------------------------------
	public void salvar()
	{
		System.out.println("Chamou o salvar");
		this.cadastroPedidoService.salvar(pedido);
		FacesUtil.addInfoMessage("pedido salvo com sucesso");
	}
	
										//Método para carregar todos os vendedores
//------------------------------------------------------------------------------------------------------------------------
	
										//Método para carregar o auto-complete do cliente
//------------------------------------------------------------------------------------------------------------------------
	public List<Cliente> buscarCliente(String nome)
	{
		
		return this.cadastroClienteDAO.buscarPorNome(nome);
	}
	
	public FormaPagamento[] getFormaPagamentos()
	{
		return FormaPagamento.values();
	}
	
	private void limpar() 
	{
		this.pedido = new Pedido();	
		//this.vendedores = new ArrayList<>();
		
	}


	public Pedido getPedido() {
		return pedido;
	}

	public void setPedido(Pedido pedido) {
		this.pedido = pedido;
	}
}

e aqui é meu método dao:

public List<Cliente> buscarPorNome(String nome)
{
	return this.manager.createQuery("from Cliente where upper(nome) like :nome", Cliente.class)
			.setParameter("nome", nome.toUpperCase() + "%")
			.getResultList();
	
}

Revendo melhor, creio que você pode ver o que está errado, no comentário acima.
Veja que entrou no converter e retornou uma String e não um Long.

1 - Vá na classe ClienteConverter, e veja todos os métodos que retornam um long.
2 - Procure pelo método que tenha a sentença que você criou, pode usar cntrl+f que sai + rápido: “entrou no converter retorna um long”.
Embora seja um contrassenso, na mesma classe reveja o método ClienteConverter.getAsObject.

A classe que você postou não diz muita coisa, pelo menos pra mim.
As classes interessantes em minha avaliação são: ClienteConverter e CadastroClienteDAO, ao meu ver são estas classes que em que você deve procurar por erro, principalmente nos métodos que retornam long.

Fiz o debug e quando chega nessa parte do converter "Long codigo = new Long(value); ele dar erro, pq está pegando um objeto, tem como eu já trazer da view o código do meu cliente e retornar essa lista de clientes para o autocomplete?

Segue o erro novamente com o print:

Hibernate:
select
cliente0_.cod_cliente as cod_clie1_1_,
cliente0_.cod_contato as cod_con14_1_,
cliente0_.data_cadastro as data_cad2_1_,
cliente0_.nr_documento as nr_docum3_1_,
cliente0_.nm_bairro as nm_bairr4_1_,
cliente0_.nr_cep as nr_cep5_1_,
cliente0_.nm_cidade as nm_cidad6_1_,
cliente0_.nm_complemento as nm_compl7_1_,
cliente0_.nm_logradourao as nm_logra8_1_,
cliente0_.nr_casa as nr_casa9_1_,
cliente0_.nm_uf as nm_uf10_1_,
cliente0_.nm_cliente as nm_clie11_1_,
cliente0_.nm_observacao as nm_obse12_1_,
cliente0_.tipo_pessoa as tipo_pe13_1_
from
cliente cliente0_
where
upper(cliente0_.nm_cliente) like ?
Hibernate:
select
contato0_.cod_contato as cod_cont1_2_0_,
contato0_.nr_celular as nr_celul2_2_0_,
contato0_.nm_email as nm_email3_2_0_,
contato0_.nm_site as nm_site4_2_0_,
contato0_.nr_telefone as nr_telef5_2_0_,
contato0_.nr_whatsapp as nr_whats6_2_0_
from
contato contato0_
where
contato0_.cod_contato=?
Entrou no converter: br.com.vendas.model.Cliente@20
Converter2: br.com.vendas.model.Cliente@20
converte3: br.com.vendas.model.Cliente@20
converte4: 1
Converter ok
Converter 5: br.com.vendas.model.Cliente@20
Converter 6: br.com.vendas.model.Cliente@20
ago 03, 2017 4:10:10 PM com.sun.faces.lifecycle.ProcessValidationsPhase execute
ADVERTÊNCIA: For input string: "br.com.vendas.model.Cliente@20"
java.lang.NumberFormatException: For input string: "br.com.vendas.model.Cliente@20"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:589)
at java.lang.Long.(Long.java:965)
at br.com.vendas.converter.ClienteConverter.getAsObject(ClienteConverter.java:34)
at org.primefaces.component.autocomplete.AutoCompleteRenderer.getConvertedValue(AutoCompleteRenderer.java:670)
at javax.faces.component.UIInput.getConvertedValue(Unknown Source)
at javax.faces.component.UIInput.validate(Unknown Source)
at javax.faces.component.UIInput.executeValidate(Unknown Source)
at javax.faces.component.UIInput.processValidators(Unknown Source)
at javax.faces.component.UIComponentBase.processValidators(Unknown Source)
at javax.faces.component.UIForm.processValidators(Unknown Source)
at javax.faces.component.UIComponentBase.processValidators(Unknown Source)
at javax.faces.component.UIComponentBase.processValidators(Unknown Source)
at javax.faces.component.UIViewRoot.processValidators(Unknown Source)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(Unknown Source)
at com.sun.faces.lifecycle.Phase.doPhase(Unknown Source)
at com.sun.faces.lifecycle.LifecycleImpl.execute(Unknown Source)
at javax.faces.webapp.FacesServlet.service(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

2017-08-03 16:10:10,212 ERROR [br.com.vendas.util.jsf.JsfExceptionHandler] Erro de sistema: For input string: "br.com.vendas.model.Cliente@20"
javax.faces.FacesException: For input string: "br.com.vendas.model.Cliente@20"
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(Unknown Source)
at com.sun.faces.lifecycle.Phase.doPhase(Unknown Source)
at com.sun.faces.lifecycle.LifecycleImpl.execute(Unknown Source)
at javax.faces.webapp.FacesServlet.service(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NumberFormatException: For input string: "br.com.vendas.model.Cliente@20"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:589)
at java.lang.Long.(Long.java:965)
at br.com.vendas.converter.ClienteConverter.getAsObject(ClienteConverter.java:34)
at org.primefaces.component.autocomplete.AutoCompleteRenderer.getConvertedValue(AutoCompleteRenderer.java:670)
at javax.faces.component.UIInput.getConvertedValue(Unknown Source)
at javax.faces.component.UIInput.validate(Unknown Source)
at javax.faces.component.UIInput.executeValidate(Unknown Source)
at javax.faces.component.UIInput.processValidators(Unknown Source)
at javax.faces.component.UIComponentBase.processValidators(Unknown Source)
at javax.faces.component.UIForm.processValidators(Unknown Source)
at javax.faces.component.UIComponentBase.processValidators(Unknown Source)
at javax.faces.component.UIComponentBase.processValidators(Unknown Source)
at javax.faces.component.UIViewRoot.processValidators(Unknown Source)
… 25 more

e aqui está meu converter de cliente:

package br.com.vendas.converter;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

import br.com.vendas.dao.CadastroClienteDAO;
import br.com.vendas.model.Cliente;
import br.com.vendas.util.cdi.CDIServiceLocator;

@FacesConverter(forClass=Cliente.class)
public class ClienteConverter implements Converter
{

//@Inject
private CadastroClienteDAO CadastroClienteDAO;

public ClienteConverter() 
{
	this.CadastroClienteDAO = (CadastroClienteDAO) CDIServiceLocator.getBean(CadastroClienteDAO.class);
}
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) 
{
	Cliente retorno = null;
	if(value != null)
	{
		System.out.println("Converter ok");
		System.out.println("Converter 5: "+value.toString());
		System.out.println("Converter 6: "+value);
		//Cliente cliente = (Cliente) this.CadastroClienteDAO.buscarPorNome(value);
		//Long g = cliente.getCodigo();
		Long codigo = new Long(new Long(value));
		System.out.println("Converter 7: "+value);
		System.out.println("Converter 8: "+codigo);
		retorno = this.CadastroClienteDAO.porCodigo(codigo);
		System.out.println("final do converter: "+retorno);
	}
	return retorno;
}

@Override
public String getAsString(FacesContext context, UIComponent component, Object value)
{
	if (value != null) 
	{
		System.out.println("Entrou no converter: "+ value.toString());
		Cliente cliente = (Cliente) value;
		System.out.println("Converter2: "+value.toString());
		System.out.println("converte3: "+cliente.toString());
		System.out.println("converte4: "+cliente.getCodigo());
		return cliente.getCodigo() == null ? null:cliente.toString();
		
	}
	System.out.println("retornou nada do converter");
	return "";
	
}

}

Eu não tenho como dizer se vai dar certo, pois não tenho nenhuma “intimidade” com o Hibernate.
Mesmo assim, vou me basear em um conceito algorítmico, onde a ordem importa.

Opção 1:

@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) 
{
	Cliente retorno = null;
	if(value != null)
	{
		System.out.println("Converter ok");
		System.out.println("Converter 5: "+value.toString());
		System.out.println("Converter 6: "+value);
            //se a consulta a seguir no banco de dados não der erro, o código pode ser solicitado direto do objeto cliente
		Cliente cliente = (Cliente) this.CadastroClienteDAO.buscarPorNome(value);
		long codigo = cliente.getCodigo();//ALTERADO
		System.out.println("Converter 7: "+value);
		System.out.println("Converter 8: "+codigo);
		retorno = this.CadastroClienteDAO.porCodigo(codigo);
		System.out.println("final do converter: "+retorno);
	}
	return retorno;
}

Opção 2:

@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) 
{
	Cliente retorno = null;
	if(value != null)
	{
		System.out.println("Converter ok");
		System.out.println("Converter 5: "+value.toString());
		System.out.println("Converter 6: "+value);
		//Cliente cliente = (Cliente) this.CadastroClienteDAO.buscarPorNome(value);
		//Long g = cliente.getCodigo();
		Long codigo = new Long(value.split("@")[1]);//só da certo se o id estiver após o arroba

		System.out.println("Converter 7: "+value);
		System.out.println("Converter 8: "+codigo);
		retorno = this.CadastroClienteDAO.porCodigo(codigo);
		System.out.println("final do converter: "+retorno);
	}
	return retorno;
}

Ao meu ver a primeira opção tem uma chance maior de manter a integridade da aplicação, procure pelo comentário //ALTERADO, para entender o porque.

Contudo, há muitos participantes na comunidade que dominam o Hibernate, podendo fornecer uma avaliação precisa.

Té+

Obrigado por está ajudando, mas até agora continuo com esse erro ainda.

Eu corrigi um erro meu, no segundo exemplo ao escrever value.split@[1], ao invés de value.split("@")[1], mas pra ficar mais fácil, vou postar novamente:

   @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) 
    {
    	Cliente retorno = null;
    	if(value != null)
    	{
    		System.out.println("Converter ok");
    		System.out.println("Converter 5: "+value.toString());
    		System.out.println("Converter 6: "+value);
    		//Cliente cliente = (Cliente) this.CadastroClienteDAO.buscarPorNome(value);
    		//Long g = cliente.getCodigo();
    		Long codigo = new Long(value.split("@")[1]);//o erro que cometi foi nesta linha, agora independe da consulta no banco de dados
    		System.out.println("Converter 7: "+value);
    		System.out.println("Converter 8: "+codigo);
    		retorno = this.CadastroClienteDAO.porCodigo(codigo);
    		System.out.println("final do converter: "+retorno);
    	}
    	return retorno;
    }

Creio que o erro deixará de ser: java.lang.NumberFormatException: For input string: “br.com.vendas.model.Cliente@20”, pois vai quebrar a string no caractere @ e a posição[1] corresponde a um número, entretanto, só você terá como saber se o número será o id.

Cara muito obrigado por responder no tópico, conseguir resolver aqui. Apaguei a classe ClienteConverter e criei outra igual do mesmo jeito e está tudo funcionando, deve ser algum bug ou lixo que o eclipse tava gerando. obrigado pela ajuda.

Vlws