o hibernate tem uma linguagem hql que portavel, porem hql nem sempre implementa tudo do sql, e as vezes é algo legado, e a galera do hibernate para nao perder desenvolvedores, que poderia nao usar o hibernate pq se ele nao desse suporte ao sql, simplesmente vc pode usar sql dentro do hibernate, agora eu acho que a pergunta foi mal feita pelo seu professor.