Problema consulta hibernate Firebird + Criteria

Bom dia a todos,

Estou utilizando o criteria do hibernate nas consultas, testei vários SGDB (Mysql, PostgreSQL), nesses a consulta funcionou perfeitamente… O problema é que eu preciso do firebird e com ele a consulta retorna erro!

Segue o erro abaixo:

Hibernate: /* cri first ?teria query */ select this_.idEstado as idEstado0_0_, this_.nome as nome0_0_, this_.sigla as sigla0_0_ from Estado this_ where this_.nome like ? order by this_.nome asc
10:49:41,125  WARN JDBCExceptionReporter:71 - SQL Error: 0, SQLState: HY002
10:49:41,140 ERROR JDBCExceptionReporter:72 - Invalid column index.

Código utilizado na consulta!

    public List listCriterio(Class clazz, String classe2, String atributo, String criterio) {
        List lista=null;
        Criteria crit = HibernateUtility.getSession().createCriteria(clazz,atributo);
        
        if (classe2==null){
            crit.add(Restrictions.like(atributo,"%"+criterio+"%"));
            crit.addOrder(Order.asc(atributo));
            crit.setMaxResults(30);
            lista=crit.list();
        }
        else{
            crit = crit.createCriteria(classe2);
            crit.add(Restrictions.like(atributo,"%"+criterio+"%") );
            crit.addOrder(Order.asc(atributo));
            crit.setMaxResults(30);
            lista=crit.list();
        }
        return lista;
    }

Procurei bastante por uma solução até agora sem sucesso, inclusive atualizei o drive jdbc para o jaybird-full-2.0.1 .
Se alguém puder ajudar! Ficaria grato!

Obrigado

Diego

O erro é que, ao declarar aliases para as colunas, o FireBird não reconhece mais o nome real da coluna se usado na cláusula WHERE.
Alterando a query para ficar mais legível:

select estado.nome as nome_alias from Estado estado where estado.nome like ?
O Derby possui o mesmo problema e o povo do Hibernate falou que não vai mudar, apesar do padrão SQL dizer que o jeito que o FireBird e Derby implementam é o certo.

Não sei quanto ao FireBird, pode tentar procurar no fórum do Hibernate ou tentar outro driver/versão do FireBird.