Я пытаюсь суммировать столбец, но я получаю исключение из null-указателя, и я не знаю, что я делаю неправильно.Прогнозирование суммы баллов
ChartVentaVendedores chart = new ChartVentaVendedores();
Criteria facturas = getSession().createCriteria(Factura.class);
facturas.add(Restrictions.like("estado", "CONFIRMADO"));
facturas.add(Restrictions.between("fechaCreacion", fromDate, toDate));
Criteria vendedorFactura = facturas.createCriteria("idVendedor");
vendedorFactura.add(Restrictions.eq("idUsuario", idVendedor));
facturas.setProjection(Projections.sum("total"));
Long counter = (Long) facturas.uniqueResult();
int value = counter.intValue();
chart.setValue(counter.intValue());
chart.setDate(fromDate);
Даже если бы я не делал джойн, я все еще получаю null
.
Я попытался изменить тип Long counter = (Long) facturas.uniqueResult();
на BigInteger
, но я по-прежнему получаю ту же ошибку.
Мой класс:
@Entity
@Table(name = "factura")
public class Factura implements Serializable {
private int idFactura;
private Cliente cliente;
private String estado;
private Usuarios idVendedor;
private Date fechaCreacion;
private Date fechaModificacion;
private Integer usuarioCreacion;
private Integer usuarioModificacion;
private BigInteger total;
private String tipoFactura;
....
}
Вы уверены, что у вас есть конкретные данные в базе данных? – ByeBye
yeap, у меня есть другая функция, подобная этой, но она подсчитывает количество строк, и она отлично работает с датой моего db. –
Я думаю, что ваш 'Projections.sum (« total »)' не может суммировать BigIntegers, поскольку у них нет автобоксинга. Ваша другая функция sum BigIntegers? – ByeBye