Sinceramente non so cosa sia "getCurrentSession()"... immaginavo che ritornasse un EntityManager. Se non è così, cerca di spiegare meglio... che fa "getCurrentSession()"?
Ad ogni modo, non è quello il punto della questione... se anche hai un Query, hai comunque il metodo setParameter.
codice:
StringBuilder sql = new StringBuilder();
sql.append("SELECT p ");
sql.append("FROM Prestazioni p ");
sql.append("WHERE p.programmato = :prog and p.dataOra BETWEEN :da AND :a");
Query qry = getCurrentSession().createQuery( sql.toString() );
qry.setParameter("prog", true);
qry.setParameter("da", ...);
qry.setParameter("a", ...);
List<Prestazioni> lst = (List<Prestazioni>) qry.getResultList();
Ciao.