ORA-01795: O número máximo de expressões em uma lista é de 1000

Boa noite, estou fazendo uma consulta em jpql onde estou com problemas ao retornar o resultado:

StringBuffer jpql = new StringBuffer();
jpql.append(" select NotaFiscal nf ");
List<NotaFiscal> notas = query.getResultList(); //lista com mais de 2mil notas.

return notas;

O seguinte erro é exibido: ORA-01795: o número máximo de expressões em uma lista é de 1000.

Como resolver esse problema?

Já tentou mudar de StringBuffer para StringBuilder ?

Mudei, mas o erro ainda continua.

Essa é a query de mentira. Posta o SQL gerado pelo JPA. Mas já adiantando, a mensagem é bem clara que está ultrapassando limite do Oracle. Em um Select … IN por exemplo, o limite é de 1000.