Na query: select m from Movimentacao m join m.categoria c where c = :pCategoria
Observei que não é possível escrever: select m from Movimentacao m join m.categoria c where m.categoria = :pCategoria
Porque?
Na query: select m from Movimentacao m join m.categoria c where c = :pCategoria
Observei que não é possível escrever: select m from Movimentacao m join m.categoria c where m.categoria = :pCategoria
Porque?
Fala ai Dirley, tudo bem ?
Como você está fazendo um join entre tabelas, ele precisa receber um apelido, pois você primeiro faz a busca na tabela categoria para então executar a junção com os dados de determinada movimentação.
Se não existisse esse join, você poderia sem nenhum problema fazer sem precisar desse alias.