Soma de valores- [Resolvido]

Galera estou criando um projeto e estou na dúvida de como somar os valores, consigo somar pelo hibernate fazendo uma consulta, porém acho desnecessário,
Criei um método getTotal, porém ele retorna 0;

public class ProdutoForm {

private List<Produto> valores = new ArrayList<>();


public List<Produto> getValores() {
	return valores;
}

public void setValores(List<Produto> valores) {
	this.valores = valores;
}

public BigDecimal getTotal(){
	return valores.stream().map(Produto::getValor).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
}

}
@Entity
public class Produto {

private BigDecimal valor;


public BigDecimal getValor() {
	return valor;
}

public void setValor(BigDecimal valor) {
	this.valor = valor;
}

}

muda pra .reduce(BigDecimal.ZERO, BigDecimal::add) e tira o orElse, é pra funcionar… a menos que sua lista esteja vazia …

Troquei e mesmo assim retornou 0, eu estou criando uma List lá, eu tenho um contéudo na tela.
Acho que vou ter que criar outro select SUM mesmo.

vc debugou se sua lista está com valores no momento que passa pelo get?

pq testei aqui usando um exemplo com Arrays.asList(new Big…) e funciona normal isso.

Sim dei um syso no toString e está vindo null também
Produtos [nome=null, Categoria=null, pedido=null, loja=null, rastreio=null, valor=null].

Quando eu crio um listar no dao, ele já deveria popular a entidade certo ?

Como está seu método listar no dao?

public List<Produto> finalizados() {

	return manager.createQuery("select p from Produto p where p.status like :status", Produto.class).setParameter("status", Status.FINALIZADA).getResultList();
}

rodando a query gerada no banco, existe registros? o.O

meio estranho essa situação. Creio q o problema não esteja no seu get em si.
Parece ser no retorno dos dados pelo banco msm …

Sim normal, vou te passar o projeto pelo github

Resolvi, eu vaciliei estava buscando uma lista vazia.