2
respostas

Dúvida sobre a query sql criada no JPQL

Boa noite amigos, Estou com uma dúvida, esse "m" ou a letra que é chamada de alias na query é necessária ter em toda query? Não posso por o "*" na query? Exemplo:

String jpql = "select m from Movimentacao m join m.cat c where c = :pCategoria";

Com o "*" para selecionar todos os registros:

String jpql = "select * from Movimentacao m join m.cat c where c = :pCategoria";

Quando coloco o "*" vem muitas exceptions.

2 respostas

Neste caso, o m representa na notação objeto-relacional o mesmo que o asterisco na notação relacional.

O meu entendimento é que os atributos dos objetos m que são da classe Movimentação é retornada pela query de acordo com os joins e filtros aplicados.

E a partir daí o asterisco se torna dispensável e até nocivo já que te leva para um entendimento relacional - o que não é desejável já que a codificação é OO.

O fábio já disse tudo, lembre-se que quando utilizamos hql estamos trabalhando com objetos e não com tabelas e campos de banco de dados