Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
2
respostas

Erros na aula

Existem dois erros no código mostrado na vídeo aula:

1 - A relação correta seria:

Path<Integer> pathCategoria = root.join("categorias", JoinType.LEFT).<Integer>get("id");

Assim garantimos que mesmo não havendo uma categoria vinculada em um produto será trazido resultados, por exemplo, quando buscamos por nome, da maneira que foi implementado, se existir um produto sem categoria, não haverá resultados mesmo que busque por um nome existente pois o padrão é do join é "inner join".

2 - Não chega bem a ser um erro, mas não faz sentido algum utilizar "like" e não usar "%" em algum dos lados da comparação, porque se fosse para fazer busca exata, bastaria "equal".

No meu coloquei assim:

Predicate predicateNome = criteriaBuilder.like(pathNome, "%"+nome+"%");
2 respostas
solução!

Oi Eduardo, tudo bom?

Obrigado por compartilhar com a gente aqui no forum!

Você também pode mandar como sugestão pra essa atividade aqui. Assim, a equipe de revisão fica de olho =)

Abraço

André, vlw! Não sabia disso, vou postar lá, desculpa por enviar no lugar errado.