Сегодня я использую этот код для подсчета выбора в моей БД
total = protocoloRepository.count(
Specifications.where(ProtocoloSpecification.withNumero(filtro.getNumero()))
.and(ProtocoloSpecification.withTipo(filtro.getTipoProtocolo()))
.and(ProtocoloSpecification.withAndamento(filtro.getAndamento()))
.and(ProtocoloSpecification.withNatureza(filtro.getNatureza()))
.and(ProtocoloSpecification.withCliente(filtro.getCliente()))
.and(ProtocoloSpecification.withDataBetween(filtro.getCampoData(), filtro.getDtInicial(), filtro.getDtFinal()))
);
return total.intValue();
, но этот код генерирует этот sql:
Hibernate:
select
count(protocolo0_.id) as col_0_0_
from
protocolo protocolo0_
where
(
protocolo0_.tipo_protocolo_id in (
? , ? , ? , ? , ? , ?
)
)
and (
protocolo0_.data_protocolo between ? and ?
)
Так что я могу изменить этот счет (protocolo0_.id) считать (*), что это простое изменение займет у меня 8 секунд в моем sql