Estou com uma dificuldade em fazer um count utilizando hql e passar em uma datatable primefaces.
Se alguém puder dar alguma dica, agradeço desde já.
Alguém com alguma idéia de como fazer?
Quando faço o select no mysql:
Resultado da consulta:
Quando passo para datatable aparece um vetor na quantidade Vendida:
Minha tabela no banco:
CompraItemDAOImpl.java
public List<CompraItem> ContarItens(CompraItem compraItem) {
Criteria criteria = this.session.createCriteria(CompraItem.class);
String hql = "select count(i.nome) as quantidade from CompraItem i group by i.cod_produto having count(i.nome)>=1";
Query consulta = this.session.createQuery(hql);
return consulta.list();
}
PedidoBean.java
public List<CompraItem> getContarItens(){
CompraItemRN compraItemRN = new CompraItemRN();
this.quantidadeItens = compraItemRN.ContarItens(compraItem);
return quantidadeItens;
}
public List<CompraItem> getListarItensPedidoEstatisticas() {
CompraItemRN compraItemRN = new CompraItemRN();
this.listarItensPedidoEstatisticas = compraItemRN.ListarItensPedidoEstatisticas(compraItem);
return this.listarItensPedidoEstatisticas;
}
index.xhtml
<h:form id="listagem">
<p:dataTable id="datatable"
var="compraitem"
value="#{pedidoBean.listarItensPedidoEstatisticas}"
style="width:795px; margin-left:-10px;"
paginator="true"
paginatorPosition="bottom" rows="10"
emptyMessage="Nenhuma Estatisticas Encontrada!"
rowsPerPageTemplate="5,10,15,30,60" >
<f:facet name="header">
<p:button value="Voltar" outcome="index.xhtml"/>
<h:outputText value="Pesquisar Estatísticas: " style="margin-left:350px;"/>
<p:inputText id="globalFilter" onkeyup="estatisticasTable.filter()" style="width:200px" filterPosition="left"/>
</f:facet>
<p:column id="colunaNome" style="width:70px; text-align:center;" >
<f:facet name="header">
<h:outputText value="Nome Produto"/>
</f:facet>
<h:outputText value="#{compraitem.nome}" id="nome"/>
</p:column>
<p:column id="colunaQuantidade" style="width:70px; text-align:center;">
<f:facet name="header">
<h:outputText value="Quantidade Vendida"/>
</f:facet>
<h:outputText value="#{pedidoBean.contarItens}" id="quantidade"/>
</p:column>
</p:dataTable>
</h:form>
CompraItem.java
@Entity
@Table(name = "itens_pedido")
public class CompraItem implements Serializable {
private static final long serialVersionUID = -321910204035798525L;
@Id
private Long cod_produto;
private Long cod_pedido;
@Transient
private Integer numero;
private String nome;
private Double preco;
@Column (name = "quantidade")
private Integer count;
private Double somaitem;