Olá,
diante da solução apresentada no curso, qual seria a diferença com a que optei fazer?
No meu caso, criei um MusicaRepository que fazia o cadastro da música
public class CadastrarMusicas implements Command {
private MusicaRepository musicaRepository;
private ArtistaRepository artistaRepository;
public CadastrarMusicas(MusicaRepository musicaRepository,
ArtistaRepository artistaRepository){
this.musicaRepository = musicaRepository;
this.artistaRepository = artistaRepository;
}
@Override
public void execute() {
Scanner input = new Scanner(System.in);
System.out.println("Entre com o nome da música: ");
String nomeDaMusica = input.nextLine();
System.out.println("Entre com o nome do artista: ");
String nomeDoArtista = input.nextLine();
Optional<Artista> artista = artistaRepository.findByNomeIgnoreCase(nomeDoArtista);
if (artista.isPresent()){
Musica musica = new Musica(nomeDaMusica, artista.get());
System.out.println("Música cadastrada com sucesso.");
musicaRepository.save(musica);
} else {
System.out.println("Artista não encontrado.");
}
}
}
e encontrava as músicas de determinado artista.
public interface MusicaRepository extends JpaRepository<Musica, Long> {
List<Musica> findMusicaByArtista(Artista artista);
}
Vi que seria mais simples trabalhar com um repository apenas.
Mas gostaria de saber se tem alguma vantagem relacionada ao desempenho em alguma das soluções?
Parabéns pela qualidade do curso. ;)
Ate +.