Between "Inverso" usando Hibernate Criteria

Alguem pode me dizer como converto esse SQL para Criteria do Hibernate.

Select * from veiculo where 01/07/2008 between dtPgtoIPVAInicial and dtPgtoIPVAFinal

Ou seja, quero fazer uma consulta onde passo uma data e me retorna o registro de todos os veículos que podem efetuar pagamento do IPVA nesta data.

A dúvida é … como posso fazer isso com a API Criteria do Hibernate.

Grato.

   @SuppressWarnings("unchecked")  
   public Classificacao obterPorGrupoEscore(Long vlEscore) {  
   Criteria criteria = getSession().createCriteria(Classificacao.class,"classificacao");  
   criteria.add(Restrictions.ge("classificacao.valorEscoreMinimo", vlEscore));  
   criteria.add(Restrictions.le("classificacao.valorEscoreMaximo", vlEscore));  
   List<Classificacao> lista = criteria.list();  
   if (lista!=null && lista.size()>0){  
  return (Classificacao)lista.get(0);  
  }else{  
  return null;  
  }  
  }  

Vou passar um escore por parametro e quero que me retorne … o registro que tem a classificação com escore passado dentro da faixa entre vlEscoreMinimo e vlEscoreMaximo

Considerando o escore 5, com SQL faria assim :

Select * from CLASSIFICACAO where 5 between VL_ESCORE_MINIMO and VL_ESCORE_MAXIMO

[quote=MAMS]Alguem pode me dizer como converto esse SQL para Criteria do Hibernate.

Select * from veiculo where 01/07/2008 between dtPgtoIPVAInicial and dtPgtoIPVAFinal

Ou seja, quero fazer uma consulta onde passo uma data e me retorna o registro de todos os veículos que podem efetuar pagamento do IPVA nesta data.

A dúvida é … como posso fazer isso com a API Criteria do Hibernate.

Grato.[/quote]

[quote=MAMS]

   @SuppressWarnings("unchecked")  
   public Classificacao obterPorGrupoEscore(Long vlEscore) {  
   Criteria criteria = getSession().createCriteria(Classificacao.class,"classificacao");  
   criteria.add(Restrictions.ge("classificacao.valorEscoreMinimo", vlEscore));  
   criteria.add(Restrictions.le("classificacao.valorEscoreMaximo", vlEscore));  
   List<Classificacao> lista = criteria.list();  
   if (lista!=null && lista.size()>0){  
  return (Classificacao)lista.get(0);  
  }else{  
  return null;  
  }  
  }  

Vou passar um escore por parametro e quero que me retorne … o registro que tem a classificação com escore passado dentro da faixa entre vlEscoreMinimo e vlEscoreMaximo

Considerando o escore 5, com SQL faria assim :

Select * from CLASSIFICACAO where 5 between VL_ESCORE_MINIMO and VL_ESCORE_MAXIMO [/quote]
Olhe o meu exemplo acima e é só adaptar!

Veja bem … se vc notar, na verdade o between aqui é “ao contrario” pois comparo o valor as propriedades …
e o exemplo que me passaste é o between convencional …
De qualquer forma obrigado pela ajuda