Problema com p:autoComplete

Galera to com um problema no p:autoComplete que não consigo resolver, ele não faz o autocomplete, fica o campo lá, sozinho que nem um input normal, segue os codigos abaixo.

No autoComplete o var=“empresa” não fica certo, pois tenho que colocar o #{empresa.nomeEmp} na mão ele não herda os campos do empresaSelecionada.

<p:autoComplete value="#{webEmpresaBean.empresaSelecionada}" completeMethod="#{webEmpresaBean.completaNome}" var="empresa" itemLabel="#{empresa.nomeEmp}" itemValue="#{empresa}" converter="webEmpresaConverter" />

Bean

@ManagedBean
@RequestScoped
public class WebEmpresaBean {

    @ManagedProperty(value = "#{entityManager}")
    private EntityManager entityManager;
    private WebEmpresa webEmpresa = new WebEmpresa();
    private WebEmpresa empresaSelecionada;
    WebEmpresaRepository webEmpresaRepository = new WebEmpresaRepository(this.getEntityManager());
    private List<WebEmpresa> empresas = new ArrayList<WebEmpresa>();

    public void adiciona() throws IOException {
        getEntityManager().merge(getWebEmpresa());
    }

    public List<WebEmpresa> getEmpresa() {
        WebEmpresaRepository repository = new WebEmpresaRepository(this.getEntityManager());
        return repository.buscaTodas();
    }

    public List<WebEmpresa> completaNome(String query) {
        this.setEmpresas(webEmpresaRepository.buscaTodas());
        List<WebEmpresa> sugestoes = new ArrayList<WebEmpresa>();
        for (WebEmpresa j : this.getEmpresas()) {
            if (j.getNomeEmp().startsWith(query)) {
                sugestoes.add(j);
            }
        }
        return sugestoes;
    }

repository

public WebEmpresa busca(String id) {
        return this.entityManager.find(WebEmpresa.class, id);
    }

    public List<WebEmpresa> buscaTodas() {
        Query query = this.entityManager.createQuery("SELECT e FROM WebEmpresa e");
        return query.getResultList();
    }

    public List<WebEmpresa> buscaComplete(String emp) {
        Query query = this.entityManager.createQuery("SELECT e FROM WebEmpresa e where e.nomeEmp = '" + emp + "'");
        return query.getResultList();
    }

converter

[code]@FacesConverter(value = “webEmpresaConverter”)
public class WebEmpresaConverter implements Converter {

@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
    WebEmpresaRepository empresaDAO = new WebEmpresaRepository(this.getManager());
    WebEmpresa webEmpresa = empresaDAO.busca(value);
    return webEmpresa;
}

@Override
public String getAsString(FacesContext context, UIComponent component, Object o) {
    WebEmpresa webEmpresa = new WebEmpresa();
    webEmpresa = (WebEmpresa) o;
    return webEmpresa.getNomeEmp();

}

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

}[/code]

Vendo aqui ele não chama o webEmpresaBean.completaNome