1
resposta

Dúvida

Não entendi a criação disso tudo , Não era mais fácil fazer um método que devolva uma lista de findAll() ? mas ai fazer um toString contento só esses 3 atributos?

1 resposta

Não sei se entendi sua dúvida, Victor. Mas se você fizer um findAll na classe X, logo todos os itens do banco que estão nessa classe X serão retornados, e a partir disso serão trabalhados conforme o fluxo feito na listagem, deste modo, é mais prático que se use uma query com o filtro do que deve ser retornado, a fim de trazer melhor desempenho pra operação.

Veja:

List<X> retornos = repository.findAll(); => todos os itens da classe X serão retornados.
retornos.stream.map... => a partir disso eu irei trabalhar com todos os dados, filtrando, persistindo etc...

Desta forma, fica mais legível e com um desempenho melhor:

@Query(select (x.id, x.nome, x.salario)...)
repository.findUserBySalario();

Serão apenas retornados conforme a condição da query, sendo então, mais simples de trabalhar apenas com os dados no qual foram necessários conforme o contexto da aplicação.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software