Between Criteria Hibernate

Boa noite!

estou com uma dúvida em usar o between + criteria no hibernate
preciso aplica esse filtro via CRITERIA

alguma dica?
segue meu código

try { Criteria criteria = HibernateUtility.getSession().createCriteria(Plano.class, "a"); criteria.createCriteria("a.turma", "tu"); criteria.createCriteria("a.listaPrecoPlanos", "lp"); criteria.add(Restrictions.eq("tu.periodo.id", periodo.getId())); criteria.add(Restrictions.eq("tu.atividade.id", atividade.getId())); criteria.add(Restrictions.eq("a.periodicidade.id", periodicidade.getId())); criteria.add(Restrictions.eq("a.turma.id", turma.getId())); criteria.add(Restrictions.eq("a.convenio.id", convenio.getId())); //criteria.add(Restrictions.le("lp.dataInicio", dataDia)); //criteria.add(Restrictions.ge("lp.dataFinal", dataDia)); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); return (Plano) criteria.uniqueResult(); } catch (HibernateException hibernateException) { hibernateException.printStackTrace(); throw hibernateException; }

Muito Obrigado!

para igualdade vc utilizou Restrictions.eq, certo? na classe Restrictions existem as operações básicas possíveis de um SQL.

Respondendo sua pergunta: Restrictions.between("atributo", dataInicio, dataFim);
http://docs.jboss.org/hibernate/orm/3.3/api/org/hibernate/criterion/Restrictions.html#between(java.lang.String, java.lang.Object, java.lang.Object)

amigo já tentei esse não funciona…
esse é para quanto eu vo passar 2 paramentros para verificar between em um unico campo

exemplo

onde datainicio é um campo da tabela e as datas os filtros

eu quero ao contrario

passar 1 filtro e jogar between nos dois campos

Então você precisa utilizar MENOR IGUAL (le) e MAIOR IGUAL (ge)

Restrictions.le(dataFim, DATE_LITERAL); Restrictions.ge(dataInicio, DATE_LITERAL);

Novamente:
http://docs.jboss.org/hibernate/orm/3.3/api/org/hibernate/criterion/Restrictions.html