Listagem jsf2 no datatable do primefaces

@ManagedBean(name = “controle”)
public class Controle implements Serializable {

Logging log;
@EJB
private ControleDao cdao;
private String titulo;
private String descricao;
private String classificacao;
private String status;
private Date data;
private Date prazo;
private List<DemDemandas> listDemandas;


public Controle() {
    log = new Logging("Demandas");
}

public String adicionarDemanda() {
    DemDemandas demandas = new DemDemandas();
    System.out.println(data);
    System.out.println(prazo);
    demandas.setTitulo(this.titulo);
    demandas.setData(this.data);
    demandas.setDescricao(this.descricao);
    demandas.setPrazo(this.prazo);
    demandas.setStatus(this.status);
    demandas.setClassificacao(this.classificacao);
    cdao.insert(demandas);
    return "relatorio";
}

public void consultaDemandas(){
    ArrayList list = new ArrayList();
    listDemandas = cdao.getFromNamedQuery("DemDemandas.findAll", list);
}

public String getClassificacao() {
    return classificacao;
}

public void setClassificacao(String classificacao) {
    this.classificacao = classificacao;
}

public Date getData() {
    return data;
}

public void setData(Date data) {
    this.data = data;
}

public String getDescricao() {
    return descricao;
}

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

public Date getPrazo() {
    return prazo;
}

public void setPrazo(Date prazo) {
    this.prazo = prazo;
}

public String getStatus() {
    return status;
}

public void setStatus(String status) {
    this.status = status;
}

public String getTitulo() {
    return titulo;
}

public void setTitulo(String titulo) {
    this.titulo = titulo;
}

public List<DemDemandas> getListDemandas() {
    return listDemandas;
}

public void setListDemandas(List<DemDemandas> listDemandas) {
    this.listDemandas = listDemandas;
}

}
[/code]
Aqui está a página que utiliza a lista:

[code]
<ui:composition template=“http://localhost:8080/Padrao/template/modelo.xhtml
xmlns=“http://www.w3.org/1999/xhtml
xmlns:h=“http://java.sun.com/jsf/html
xmlns:ui=“http://java.sun.com/jsf/facelets
xmlns:p=“http://primefaces.prime.com.tr/ui
xmlns:f=“http://java.sun.com/jsf/core”>
<ui:define name=“menu”>
<ui:include src="…/modelos/menu.xhtml"/>
</ui:define>
<ui:define name=“conteudo”>
<h:form>
<p:dataTable var=“item”
value="#{controle.listDemandas}"
paginator=“true” rows=“20”
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
emptyMessage=“Sem registros”
selectionMode=“single”>

            <f:facet name="header">
                <p:outputPanel>
                    <h:outputText value="Procurar em todos os campos:" />
                    <p:inputText id="globalFilter" onkeyup="" style="width:150px; margin-left: 10px;" />
                </p:outputPanel>
            </f:facet>

            <p:column>
                <f:facet name="header">
                    <h:outputText value="Título" />
                </f:facet>
                <h:outputText value="#{item.titulo}" />
            </p:column>

            <p:column>
                <f:facet name="header">
                    <h:outputText value="Classificação" />
                </f:facet>
                <h:outputText value="#{item.classificacao}" />
            </p:column>

            <p:column>
                <f:facet name="header">
                    <h:outputText value="Prazo" />
                </f:facet>
                <h:outputText value="#{item.prazo}" />
            </p:column>

            <p:column>
                <f:facet name="header">
                    <h:outputText value="Status" />
                </f:facet>
                <h:outputText value="#{item.status}" />
            </p:column>
        </p:dataTable>

    </h:form>
</ui:define>

</ui:composition>[/code]

Bean gerado, estou utilizando o query q ele mesmo gera pra mim:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.bb.direv.demandas.modelo;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "dem_demandas", catalog = "intranet", schema = "")
@NamedQueries({
    @NamedQuery(name = "DemDemandas.findAll", query = "SELECT d FROM DemDemandas d"),
    @NamedQuery(name = "DemDemandas.findByCodDemanda", query = "SELECT d FROM DemDemandas d WHERE d.codDemanda = :codDemanda"),
    @NamedQuery(name = "DemDemandas.findByData", query = "SELECT d FROM DemDemandas d WHERE d.data = :data"),
    @NamedQuery(name = "DemDemandas.findByPrazo", query = "SELECT d FROM DemDemandas d WHERE d.prazo = :prazo"),
    @NamedQuery(name = "DemDemandas.findByClassificacao", query = "SELECT d FROM DemDemandas d WHERE d.classificacao = :classificacao"),
    @NamedQuery(name = "DemDemandas.findByStatus", query = "SELECT d FROM DemDemandas d WHERE d.status = :status")})
public class DemDemandas implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "cod_demanda")
    private Integer codDemanda;
    @Basic(optional = false)
    @Lob
    @Column(name = "titulo")
    private String titulo;
    @Basic(optional = false)
    @Column(name = "data")
    @Temporal(TemporalType.DATE)
    private Date data;
    @Basic(optional = false)
    @Lob
    @Column(name = "descricao")
    private String descricao;
    @Basic(optional = false)
    @Column(name = "prazo")
    @Temporal(TemporalType.DATE)
    private Date prazo;
    @Basic(optional = false)
    @Column(name = "classificacao")
    private String classificacao;
    @Basic(optional = false)
    @Column(name = "status")
    private String status;

    public DemDemandas() {
    }

    public DemDemandas(Integer codDemanda) {
        this.codDemanda = codDemanda;
    }

    public DemDemandas(Integer codDemanda, String titulo, Date data, String descricao, Date prazo, String classificacao, String status) {
        this.codDemanda = codDemanda;
        this.titulo = titulo;
        this.data = data;
        this.descricao = descricao;
        this.prazo = prazo;
        this.classificacao = classificacao;
        this.status = status;
    }

    public Integer getCodDemanda() {
        return codDemanda;
    }

    public void setCodDemanda(Integer codDemanda) {
        this.codDemanda = codDemanda;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public Date getData() {
        return data;
    }

    public void setData(Date data) {
        this.data = data;
    }

    public String getDescricao() {
        return descricao;
    }

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

    public Date getPrazo() {
        return prazo;
    }

    public void setPrazo(Date prazo) {
        this.prazo = prazo;
    }

    public String getClassificacao() {
        return classificacao;
    }

    public void setClassificacao(String classificacao) {
        this.classificacao = classificacao;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (codDemanda != null ? codDemanda.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof DemDemandas)) {
            return false;
        }
        DemDemandas other = (DemDemandas) object;
        if ((this.codDemanda == null && other.codDemanda != null) || (this.codDemanda != null && !this.codDemanda.equals(other.codDemanda))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "br.com.bb.direv.demandas.modelo.DemDemandas[codDemanda=" + codDemanda + "]";
    }

}

e o dão genérico:

package br.com.bb.direv.demandas.dao;


import br.com.bb.direv.demandas.utilitarios.Logging;
import java.util.Calendar;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

@Stateless
public class ControleDao implements java.io.Serializable
{
    @PersistenceContext(unitName = "EntidadesPU")
    private EntityManager em;
    Query q;
    Logging log = new Logging("Demandas");
    
    public void insert(Object entidade){
        try {            
            em.persist(entidade);
        } catch (Exception Ex) {
            log.addLog(Calendar.getInstance().getTime() + "[ControleDao]{insert}: " + Ex.getMessage());
        }
    }

    public void update(Object entidade){
        try {
            em.merge(entidade);
        } catch (Exception Ex) {
            log.addLog(Calendar.getInstance().getTime() + "[ControleDao]{update}: " + Ex.getMessage());
        }
    }

    /**
     * Excluir uma entidade no banco de dados
     * @param entidade Classe da entidade
     * @param cdEntidade Chave Prim&aacute;ria da entidade
     */
    public void excluir(Class entidade, Object cdEntidade) {
        try {
            em.getTransaction().begin();
            em.remove(em.find(entidade, cdEntidade));
            em.getTransaction().commit();
        } catch (Exception Ex) {
            log.addLog(Calendar.getInstance().getTime() + "[ControleDao]{excluir}: " + Ex.getMessage());
        }
    }

    /**
     * Buscar uma entidade no banco de dados
     * @param entidade Classe da entidade
     * @param cdEntidade Chave Prim&aacute;ria da entidade
     * @return Entidade
     */
    public Object getEntidade(Class entidade, Object cdEntidade) {
        Object resultado = null;
        try {
            resultado = em.find(entidade, cdEntidade);
        } catch (IllegalArgumentException Ex) {
            log.addLog(Calendar.getInstance().getTime() + "[ControleDao]{getEntidade}: " + Ex.getMessage());
        }
        return resultado;
    }

    /**
     * Retornar valores a partir de uma NamedQuery
     * @param namedQuery
     * @param parametros Devem estar na ordem definida na NamedQuery
     * @return Lista de Objetos
     */
    public List getFromNamedQueryParametrosOrdenados(String namedQuery, List parametros) {
        List resultado = null;
        try {
            q = em.createNamedQuery(namedQuery);
            for (int i = 0; i < parametros.size(); i++) {
                q.setParameter(i + 1, parametros.get(i));
            }
            resultado = q.getResultList();
        } catch (Exception Ex) {
            log.addLog(Calendar.getInstance().getTime() + "[ControleDao]{getFromNamedQuery}: " + Ex.getMessage());
        }
        return resultado;
    }

    /**
     * Retornar valores a partir de uma NamedQuery
     * @param namedQuery
     * @param parametros Podem estar em qualquer ordem.
     * @return Lista de Objetos
     */
    public List getFromNamedQuery(String namedQuery, List<Object[]> parametros) {
        List resultado = null;
        try {
            q = em.createNamedQuery(namedQuery);
            for (int i = 0; i < parametros.size(); i++) {
                q.setParameter((String) parametros.get(i)[0], parametros.get(i)[1]);
            }
            resultado = q.getResultList();
        } catch (Exception Ex) {
            log.addLog(Calendar.getInstance().getTime() + "[ControleDao]{getFromNamedQuery}: " + Ex.getMessage());
        }
        return resultado;
    }
}

num encontro nada errado, nadinha T_T