1
resposta

Nao compreendi a query select p from Produto p

estou na aula 4 do curso, ao construir o método de listar os produtos não entendi bem porquê essa query é deste jeito, sintaticamente, até onde entendo de sql esse "select p" não faz muito sentido, o correto seria algo como select *. Além de só funcionar com "Produto", se tento colocar "produto" (p minúsculo) não dá certo.

public List<Produto> listar() { return manager.createQuery("select p from Produto p", Produto.class).getResultList(); }

1 resposta

Alberto, você está correto no que se refere a sintaxe da query, poderia ser:

select * from Produto p ou select p.* from Produto p

O segundo exemplo é mais utilizado quando existe mais de uma tabela envolvida.

Referente ao "Produto" com o "P" maiúsculo, isso varia de banco para a banco, no caso do MySQL ele é sensível a caixa alta/caixa baixa, como a tabela foi criada com "P" maiúsculo, a query deve ser obrigatoriamente da mesma forma.

Espero ter ajudado.