@guilhermebhte escreveu:
StringBuilder hql = new StringBuilder(); hql.append(" FROM ").append(Declaracao.class.getSimpleName()).append(" dcl "); hql.append(" WHERE 1 = 1 "); if (filtro.getDataDeclaracao() != null) { if (filtro.getDataDeclaracao().getDe() != null) { hql.append(" AND dcl.dataCadastro >= :dataDeclaracaoDe "); parametros.put("dataDeclaracaoDe", filtro.getDataDeclaracao().getDe()); } if (filtro.getDataDeclaracao().getAte() != null) { hql.append(" AND dcl.dataCadastro <= :dataDeclaracaoAte "); parametros.put("dataDeclaracaoAte", filtro.getDataDeclaracao().getAte()); } }
Gerando um SQL similar a este:
select * from DECLARACAO where DEC_DT_CADASTRO >= ‘07/01/2018’ and DEC_DT_CADASTRO <= ‘07/01/2018’
Mesmo tendo uma declaração com a data de ‘07/01/2018’, ele não retorna nenhum registro.
Mas se a consulta é gerada assim, retorna 1 registro.
select * from DECLARACAO where DEC_DT_CADASTRO >= ‘07/01/2018’ and DEC_DT_CADASTRO <= ‘08/01/2018’
Banco de dados é Oracle. O que pode de ser ?
Mensagens: 1
Participantes: 1