Erro de sintaxe HQL

Olá a todos,

Abaixo, tenho uma consulta hql que uso para login de usuarios na classe Usuario.

public List<Usuario> getListUsuario(){
    	Usuario usuario = this;
    	List<Usuario> listUsuario = new ArrayList();    	 	
		PersistenciaController pc = new PersistenciaController(usuario);
		
		try {
			String hql = "from Usuario as a where a.id.usuario.user = '"+this.getId().getUsuario().getUsuario()+"'";
			listUsuario = pc.recuperarTodosPorCriterio(hql);
		} catch (SIGAGestaoException e) {
			e.printStackTrace();
		}
		return listUsuario;
    }

Quando uso o banco SQL Server está funcionando normalmente, mas quando troquei o banco para MySQL5.0 não consigo logar no sistema. O log aponta:

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 '.USUARIO usuario_ where usuario_.user='tecnico'' at line 1
[Mon May 30 19:27:18 BRT 2011] LoginAction - execute - Usuario: tecnico - ERROR : [Ljava.lang.StackTraceElement;@80f252

Verifiquei a criação das tabelas, relacionamentos, permissão e não encontrei problemas.

Alguem tem idéia de onde estou errando?

Obrigada

Voce tem a query completa, que o hibernate esta gerando?
Voce trocou o driver do sqlserver pelo do mysql?

pode ser um erro pq a palavra “user” é uma palavra reservada do mysql…

tente alterar o nome deste campo do banco de dados para usuario ou algo do genero…

talvez possa ser isso