Update com NamedQuery não funciona

Pessoal,

Porque não consigo fazer um update numa entidade/tabela dessa forma?

... @NamedQuery(name = "empresa.updateNumeroCte", query = "UPDATE Empresa e SET e.config.numeroControleCte = e.config.numeroControleCte + 1 WHERE e = :empresa ") }) public class Empresa implements AbstractEntity { ...
Método que faz a chamada:

private boolean atualizarNumeroCte(Empresa empresa) { Query query = em.createNamedQuery("empresa.updateNumeroCte"); query.setParameter("empresa", empresa); int ret = query.executeUpdate(); return ret > 0; }
Erro:09:55:09,283 ERROR [ConhecimentoMB] (http-localhost-127.0.0.1-8080-1) Erro ao salvar o CT-e: javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'set num_seq_cte=num_seq_cte+1 where id=21' at line 1

O que pode estar errado?

Resolvi assim, mas não gostei, não quero usar SQL nativo, se alguém puder me ajudar no Hibernate/JPA lá agradeço muito:

private boolean atualizarNumeroCte(Empresa empresa) { Query query = em.createNativeQuery("UPDATE config_empresa c SET c.num_seq_cte = c.num_seq_cte + 1 WHERE c.id = ?"); query.setParameter(1, empresa.getConfig().getId()); int ret = query.executeUpdate(); return ret > 0; }

Pesquisa algum exemplo de CRUD usando Hibernate/JPA. Um deles: http://www.universidadejava.com.br/docs/exemplodedaocrudutilizandojpa