comapração query e critéria

Pessoal,

N sei e estou traduzindo certo, mas tinha um sistema aqui que utilizava critéria, porém me pediram para mudar para fazer a persistência via JDBC msm. Fiz a mudança, só que estou parado nessa ai em baixo. N sei se estou traduzindo essa linha certo.
antes tava assim:


        Criteria criteria = .
                createAlias("agendamento", "ag").add(Restrictions.isNull("dataDevolucao"))
            .addOrder(Order.asc("ag.dataAgendamento"));

Tradução:

StringBuilder sb = new StringBuilder();
                sb.append("FROM ReciboTaxi r, ");
                sb.append("IN (r.agendamento) ag ");
                sb.append("WHERE r.dataDevolucao IS NOT NULL ");
                sb.append("ORDER BY ag.dataAgendamento");
        query = this.entityManager.createQuery(sb.toString());

        List<ReciboTaxi> lista = (List<ReciboTaxi>) query.getResultList();

Alguém sabe me dizer se ta certo essa tradução?

Desta maneira voê continua não usando JDBC, e ainda tem que usar HQL e não SQL.
Mas se quizer usar SQL nativo dentro do Hibernate vc tem que usar

na verdade eu tenho que usar o hql mesmo. Só que essa consulta está me retornando um array de objects e dentro desse array de objects tem dois objetos quando que o que eu desejo é que me retorne um array só de reciboTaxi.
Como eu faço?