Hql duvidas com datas

2 respostas
R

Tenho um hql que me lista um count se existir algum registro entre a datainicio e data termino usando o between

StringBuilder sb = new StringBuilder();

sb.append(“select count(*) \n”);

sb.append(“from " + Nome.class.getName() + " as d \n”);

sb.append(“where d.numero = ? \n”);	

sb.append(" and (? between d.dataInicio "

+ "and d.dataTermino or ? between d.dataInicio "

+ “and d.dataTermino)”);

Como fazer uma validação além do between, ver se já contém um registro contido dentro das datas que estão sendo passadas.

Exemplo:
registro cadastrado: dataInicio = 2010-01-05 00:00:00 e dataTermino = 2010-01-20 23:59:59

se passar uma dataInicio = 20010-01-01 00:00:00 e termino 2010-01-25 23:59:59 deve me informar que nesse período já contém um registro.

Obrigado

2 Respostas

pmlm

rogsousap:
sb.append("from " + Nome.class.getName() + " as d \n");

No único sítio em que poderia fazer sentido usar StringBuilder, não usas…

Em relação à dúvida colocada, tens de garantir que:

  • Não existe já nenhum registo que comece antes do início do novo registo e termine depois do inicio do novo registo.
  • Não existe já nenhum registo que comece dentro do intervalo do novo registo
R

essa é a dúvida como que faço para garantir
Não existe já nenhum registo que comece antes do início do novo registo e termine depois do inicio do novo registo.
nesse hql???

Criado 9 de fevereiro de 2010
Ultima resposta 9 de fev. de 2010
Respostas 2
Participantes 2