Problema com filterby PrimeFaces!

pessoal não consigo entender pq quando eu uso o filtro com prime faces acontece isso ?

<?xml version="1.0" encoding="UTF-8" ?> Hagape
			<f:facet name="footer">
				<p:commandButton value="Novo"
					actionListener="#{produtoBean.refresh}"
					oncomplete="PF('dialogo').show();"
					update=":mensagem :formCadastro:painelCadastro :formListagem:dataTableListagem">
					<f:actionListener
						type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" />
				</p:commandButton>
			</f:facet>

			<p:column headerText="Nome" filterBy="#{categoria.txt_nome}"
				sortBy="#{categoria.txt_nome}">
				<h:outputText value="#{categoria.txt_nome}" />
			</p:column>

			<p:column headerText="Tipo de Negócio"
				sortBy="#{categoria.tipo_negocio.txt_tipo}"
				filterBy="#{categoria.tipo_negocio.txt_tipo}">
				<h:outputText value="#{categoria.tipo_negocio.txt_tipo}" />
			</p:column>

			<p:column headerText="Categoria Pai"
				filterBy="#{categoria.id_categoria_pai}">
				<h:outputText value="#{categoria.id_categoria_pai}" />
			</p:column>



			<p:column headerText="Situação" filterBy="#{categoria.situacao}"
				sortBy="#{categoria.situacao}">
				<h:outputText value="#{categoria.situacao}" />
			</p:column>

			<p:column headerText="Opções">

				<p:commandButton icon="ui-icon-pencil"
					oncomplete="PF('dialogo').show();"
					actionListener="#{categoriaProdutoBean.edita}"
					update=":mensagem :formCadastro:painelCadastro">
					<f:attribute name="categoriaSelecionada" value="#{categoria}" />
					<f:actionListener
						type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" />
				</p:commandButton>

				<p:commandButton icon="ui-icon-trash"
					actionListener="#{categoriaProdutoBean.excluir}"
					update=":mensagem :formCadastro:painelCadastro :formListagem:dataTableListagem">
					<p:confirm header="Confirmação"
						message="Voce deseja exluir essa 'Categoria'?"
						icon="ui-icon-alert" />
					<f:attribute name="categoriaSelecionada" value="#{categoria}" />
				</p:commandButton>
			</p:column>
		</p:dataTable>

		<p:confirmDialog global="true">
			<p:commandButton value="Sim" type="button"
				styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
			<p:commandButton value="Não" type="button"
				styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
		</p:confirmDialog>
	</p:panel>
</h:form>

<p:dialog header="Cadastro de Categorias" widgetVar="dialogo"
	draggable="false" resizable="false" modal="true" closable="false">
	<h:form id="formCadastro">
		<h:panelGrid id="painelCadastro" columns="2">

			<p:outputLabel for="nome" value="Nome:" />
			<p:inputText id="nome"
				value="#{categoriaProdutoBean.categoria.txt_nome}" maxlength="100"
				size="25" required="true"
				requiredMessage="O Campo 'Nome' é obrigatório!" />

			<p:outputLabel for="tipoNegocio" value="Tipo Negócio:" />
			<p:selectOneMenu id="tipoNegocio" filter="true"
				value="#{categoriaProdutoBean.categoria.tipo_negocio}"
				converter="omnifaces.SelectItemsConverter" required="true"
				requiredMessage="Campo 'Tipo Negócio' obrigatório!">
				<f:selectItem noSelectionOption="true"
					itemLabel="Selecione um 'Tipo Negócio'"
					itemValue="#{categoriaProdutoBean.negocios}" />
				<f:selectItems value="#{categoriaProdutoBean.negocios}"
					var="negocio"
					itemLabel="#{negocio.id_tipo_negocio} - #{negocio.txt_tipo}"
					itemValue="#{negocio}" />
			</p:selectOneMenu>

			<p:outputLabel for="categoriaPai" value="Categoria Pai:" />
			<p:selectOneMenu id="categoriaPai" filter="true"
				value="#{categoriaProdutoBean.categoria.id_categoria_pai}"
				converter="omnifaces.SelectItemsConverter">
				<f:selectItem noSelectionOption="true"
					itemLabel="Selecione a 'Categoria Pai'"
					itemValue="#{categoriaProdutoBean.categorias}" />
				<f:selectItems value="#{categoriaProdutoBean.categorias}"
					var="categoriaP"
					itemLabel="#{categoriaP.id_categoria} - #{categoriaP.txt_nome}"
					itemValue="#{categoriaP.id_categoria}" />
			</p:selectOneMenu>

			<p:outputLabel for="ativo" value="Ativa:" />
			<p:selectOneRadio id="ativo"
				value="#{categoriaProdutoBean.categoria.bool_ativo}">
				<f:selectItem itemLabel="Ativa" itemValue="1" />
				<f:selectItem itemLabel="Inativa" itemValue="0" />
			</p:selectOneRadio>

			<p:outputLabel value="Observação:" />
			<p:inputTextarea
				value="#{categoriaProdutoBean.categoria.txt_observacao}" />
		</h:panelGrid>

		<h:panelGrid columns="2">
			<p:commandButton value="Salvar"
				actionListener="#{categoriaProdutoBean.salvar}"
				update=":mensagem :formCadastro:painelCadastro :formListagem:dataTableListagem" />

			<p:commandButton value="Fechar" oncomplete="PF('dialogo').hide()" />
		</h:panelGrid>
	</h:form>
</p:dialog>

</h:body>

Você poderia mostrar com sua lista é populada, por favor?

aew brow Segue a pagina xhtml:

<?xml version="1.0" encoding="UTF-8" ?> Hagape
			<f:facet name="footer">
				<p:commandButton value="Novo"
					actionListener="#{produtoBean.refresh}"
					oncomplete="PF('dialogo').show();"
					update=":mensagem :formCadastro:painelCadastro :formListagem:dataTableListagem">
					<f:actionListener
						type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" />
				</p:commandButton>
			</f:facet>

			<p:column headerText="Nome" filterBy="#{categoria.txt_nome}"
				sortBy="#{categoria.txt_nome}">
				<h:outputText value="#{categoria.txt_nome}" />
			</p:column>

			<p:column headerText="Tipo de Negócio"
				sortBy="#{categoria.tipo_negocio.txt_tipo}"
				filterBy="#{categoria.tipo_negocio.txt_tipo}">
				<h:outputText value="#{categoria.tipo_negocio.txt_tipo}" />
			</p:column>

			<p:column headerText="Categoria Pai"
				filterBy="#{categoria.id_categoria_pai}">
				<h:outputText value="#{categoria.id_categoria_pai}" />
			</p:column>



			<p:column headerText="Situação" filterBy="#{categoria.situacao}"
				sortBy="#{categoria.situacao}">
				<h:outputText value="#{categoria.situacao}" />
			</p:column>

			<p:column headerText="Opções">

				<p:commandButton icon="ui-icon-pencil"
					oncomplete="PF('dialogo').show();"
					actionListener="#{categoriaProdutoBean.edita}"
					update=":mensagem :formCadastro:painelCadastro">
					<f:attribute name="categoriaSelecionada" value="#{categoria}" />
					<f:actionListener
						type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" />
				</p:commandButton>

				<p:commandButton icon="ui-icon-trash"
					actionListener="#{categoriaProdutoBean.excluir}"
					update=":mensagem :formCadastro:painelCadastro :formListagem:dataTableListagem">
					<p:confirm header="Confirmação"
						message="Voce deseja exluir essa 'Categoria'?"
						icon="ui-icon-alert" />
					<f:attribute name="categoriaSelecionada" value="#{categoria}" />
				</p:commandButton>
			</p:column>
		</p:dataTable>

		<p:confirmDialog global="true">
			<p:commandButton value="Sim" type="button"
				styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
			<p:commandButton value="Não" type="button"
				styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
		</p:confirmDialog>
	</p:panel>
</h:form>

<p:dialog header="Cadastro de Categorias" widgetVar="dialogo"
	draggable="false" resizable="false" modal="true" closable="false">
	<h:form id="formCadastro">
		<h:panelGrid id="painelCadastro" columns="2">

			<p:outputLabel for="nome" value="Nome:" />
			<p:inputText id="nome"
				value="#{categoriaProdutoBean.categoria.txt_nome}" maxlength="100"
				size="25" required="true"
				requiredMessage="O Campo 'Nome' é obrigatório!" />

			<p:outputLabel for="tipoNegocio" value="Tipo Negócio:" />
			<p:selectOneMenu id="tipoNegocio" filter="true"
				value="#{categoriaProdutoBean.categoria.tipo_negocio}"
				converter="omnifaces.SelectItemsConverter" required="true"
				requiredMessage="Campo 'Tipo Negócio' obrigatório!">
				<f:selectItem noSelectionOption="true"
					itemLabel="Selecione um 'Tipo Negócio'"
					itemValue="#{categoriaProdutoBean.negocios}" />
				<f:selectItems value="#{categoriaProdutoBean.negocios}"
					var="negocio"
					itemLabel="#{negocio.id_tipo_negocio} - #{negocio.txt_tipo}"
					itemValue="#{negocio}" />
			</p:selectOneMenu>

			<p:outputLabel for="categoriaPai" value="Categoria Pai:" />
			<p:selectOneMenu id="categoriaPai" filter="true"
				value="#{categoriaProdutoBean.categoria.id_categoria_pai}"
				converter="omnifaces.SelectItemsConverter">
				<f:selectItem noSelectionOption="true"
					itemLabel="Selecione a 'Categoria Pai'"
					itemValue="#{categoriaProdutoBean.categorias}" />
				<f:selectItems value="#{categoriaProdutoBean.categorias}"
					var="categoriaP"
					itemLabel="#{categoriaP.id_categoria} - #{categoriaP.txt_nome}"
					itemValue="#{categoriaP.id_categoria}" />
			</p:selectOneMenu>

			<p:outputLabel for="ativo" value="Ativa:" />
			<p:selectOneRadio id="ativo"
				value="#{categoriaProdutoBean.categoria.bool_ativo}">
				<f:selectItem itemLabel="Ativa" itemValue="1" />
				<f:selectItem itemLabel="Inativa" itemValue="0" />
			</p:selectOneRadio>

			<p:outputLabel value="Observação:" />
			<p:inputTextarea
				value="#{categoriaProdutoBean.categoria.txt_observacao}" />
		</h:panelGrid>

		<h:panelGrid columns="2">
			<p:commandButton value="Salvar"
				actionListener="#{categoriaProdutoBean.salvar}"
				update=":mensagem :formCadastro:painelCadastro :formListagem:dataTableListagem" />

			<p:commandButton value="Fechar" oncomplete="PF('dialogo').hide()" />
		</h:panelGrid>
	</h:form>
</p:dialog>

</h:body>

Segue a classe Bean:

package hagape.bean;

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

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;

import org.omnifaces.util.Messages;

import hagape.dao.CategoriaProdutoDAO;
import hagape.dao.TipoNegocioDAO;
import hagape.domain.tb_categoria_produto;
import hagape.domain.tb_tipo_negocio;

@SuppressWarnings(“serial”)
@ViewScoped
@ManagedBean
public class CategoriaProdutoBean implements Serializable {
private List<tb_categoria_produto> categorias;
private List<tb_categoria_produto> categoriasP;
private tb_categoria_produto categoria;
private List<tb_tipo_negocio> negocios;

public List<tb_categoria_produto> getCategorias() {
	return categorias;
}

public void setCategorias(List<tb_categoria_produto> categorias) {
	this.categorias = categorias;
}

public tb_categoria_produto getCategoria() {
	return categoria;
}

public void setCategoria(tb_categoria_produto categoria) {
	this.categoria = categoria;
}

public List<tb_tipo_negocio> getNegocios() {
	return negocios;
}

public void setNegocios(List<tb_tipo_negocio> negocios) {
	this.negocios = negocios;
}

public List<tb_categoria_produto> getCategoriasP() {
	return categoriasP;
}

public void setCategoriasP(List<tb_categoria_produto> categoriasP) {
	this.categoriasP = categoriasP;
}

@PostConstruct
public void listar() {
	try {
		CategoriaProdutoDAO categoriaDAO = new CategoriaProdutoDAO();
		categorias = categoriaDAO.listar();
		categoriasP = categorias;
		TipoNegocioDAO tipoNegocioDAO = new TipoNegocioDAO();
		negocios = tipoNegocioDAO.listar();
		categoria = new tb_categoria_produto();
	} catch (RuntimeException e) {
		e.printStackTrace();
		Messages.addGlobalError("Erro ao tentar carregar 'Lista'!");
	}
}

/*
public void carregarF(){
	CategoriaProdutoDAO categoriaDAO = new CategoriaProdutoDAO();
	categoriasF = categoriaDAO.buscarFilho(categoria.getId_categoria());


	Messages.addGlobalError("Erro ao tentar carregar 'Listas Atualizadas'!");
}
*/
public void refresh() {
	try {
		CategoriaProdutoDAO categoriaDAO = new CategoriaProdutoDAO();
		categorias = categoriaDAO.listar();
		categoriasP = categorias;
		TipoNegocioDAO tipoNegocioDAO = new TipoNegocioDAO();
		negocios = tipoNegocioDAO.listar();
		categoria = new tb_categoria_produto();
	} catch (RuntimeException e) {
		e.printStackTrace();
		Messages.addGlobalError("Erro ao tentar carregar 'Lista'!");
	}
}

public void excluir(ActionEvent evento) {
	try {
		categoria = (tb_categoria_produto) evento.getComponent().getAttributes().get("categoriaSelecionada");
		CategoriaProdutoDAO categoriaDAO = new CategoriaProdutoDAO();
		categoriaDAO.excluir(categoria);
		Messages.addGlobalInfo("Categoria: '" + categoria.getTxt_nome() + "' excluida com sucesso!");
		refresh();
	} catch (RuntimeException e) {
		Messages.addGlobalError("Erro ao tentar 'Excluir'");
		e.printStackTrace();
	}
}

public void edita(ActionEvent evento) {
	try {
		TipoNegocioDAO tipoNegocioDAO = new TipoNegocioDAO();
		negocios = tipoNegocioDAO.listar();
		categoria = (tb_categoria_produto) evento.getComponent().getAttributes().get("categoriaSelecionada");			
		CategoriaProdutoDAO categoriaDAO = new CategoriaProdutoDAO();
		List<tb_categoria_produto> categorias = (List<tb_categoria_produto>) categoriaDAO.buscarFilho(categoria.getId_categoria());
		for (tb_categoria_produto categoriaFilha : categorias) {
			System.out.println("id categoria filha" + categoriaFilha.getId_categoria());
		}
		categorias = categoriaDAO.listar();
		categoriasP = categorias;
		categoria = (tb_categoria_produto) evento.getComponent().getAttributes().get("categoriaSelecionada");
		Messages.addGlobalInfo("Categoria: '" + categoria.getTxt_nome() + "' Selecionada!");
	} catch (RuntimeException e) {
		Messages.addGlobalError("Erro ao tentar 'Selecionar'");
		e.printStackTrace();
	}
}

public void salvar() {
	Date date = new Date();
	categoria.setDt_cadastro(date);

	if (categoria.getId_categoria_pai() == null) {
		categoria.setId_categoria_pai(0L);
	}
	categoria.setTxt_tipo(String.valueOf(categoria.getTipo_negocio().getId_tipo_negocio()));

	try {
		CategoriaProdutoDAO categoriaDAO = new CategoriaProdutoDAO();
		categoriaDAO.merge(categoria);
		Messages.addGlobalInfo("Categoria: '" + categoria.getTxt_nome() + "' salva com sucesso!");
		refresh();
		// throw new RuntimeException("erro forçado!");
	} catch (RuntimeException e) {
		Messages.addGlobalError("Erro ao tentar 'Salvar'");
		e.printStackTrace();
	}
}

}