Problemas com HQL

Pessoal, bom dia…

Estou usando o JPA com implementação Hibernate e estou tendo dificuldades em executar um código HQL…
Preciso realizar uma consulta no banco de dados que me retorne a soma da das horas do colaborador para cada um dos contratos e ordens de serviços trabalhados, o contrato e a ordem de serviço. Tudo isso, de acordo com um período de tempo que será informado pelo usuário.

Atualmente, estou realizando a consulta da seguinte maneira:


SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");

        String SQL = "SELECT new Apropriacao(SUM(apr.hora) as hora, apr.contrato, apr.os) FROM Apropriacao as apr";        
        SQL += " WHERE apr.pessoa= :pessoa";        
        SQL += " AND to_date(concat(concat(lpad(apr.dia,2,0),lpad(apr.mes,2,0)),apr.ano),'ddmmyyyy') >= :dtDe";
        SQL += " AND to_date(concat(concat(lpad(apr.dia,2,0),lpad(apr.mes,2,0)),apr.ano),'ddmmyyyy') <= :dtAte";
        SQL += " GROUP BY apr.contrato, apr.os";
        SQL += " ORDER BY apr.contrato, apr.os";

        Query select = sessao.createQuery(SQL);

        select.setParameter("pessoa", pessoa); //String que define a sigla do usuário no sistema
        select.setParameter("dtDe", formatter.format(de)); //Data de início, definido pelo usuário
        select.setParameter("dtAte", formatter.format(ate)); //Date final, definido pelo usuário

        List dados = select.getResultList();        
 
        //Omitindo try-catchs e etc

Quando eu executo este método ou a consulta não me retorna os dados corretamente, ou ocorre uma exception que diz que o número do mês é inválido…

Gostaria de saber se o erro está na sintaxe do meu HQL ou se está na lógica da minha consulta…

Caso alguém possa me ajudar, fico muito agradecido.