1
resposta

De onde veio o nome do autor?

Atualmente, nos meus converters, utilizo uma classe chamada CDIServiceLocator, que possibilita a busca dos dados de uma entidade no banco de dados para montar o objeto no converter.

Assim, uma sequência padrão no converter para o getAsObject seria:

  1. dao = CDIServiceLocator.getBean(Classe.class);
  2. Classe classe = dao.getPorId(id);
  3. return classe.

Porém, no vídeo, o professor não fez uma chamada para o banco de dados. Apenas instanciou um novo objeto Autor e setou o id nesse objeto, e o que me deixou confuso, é que logo em seguida, na página que recebe o autor desse converter, aparece o nome do autor.

Então minha dúvida é: em qual momento e quem obteve o nome do autor e o devolveu para a página, já que no converter só foi setado o id?

1 resposta

Olá Everton, tudo bem contigo?

Pelo que entendi da sua pergunta, você está confuso sobre como o nome do autor foi obtido e devolvido para a página, já que no converter apenas o ID foi setado.

No caso do exemplo que você mencionou, o professor provavelmente utilizou uma estratégia simplificada para ilustrar o funcionamento do converter. Ao setar apenas o ID no objeto Autor, ele está simulando uma situação em que o ID já foi previamente obtido em algum momento anterior, seja através de uma consulta ao banco de dados ou de outra forma.

Em uma aplicação real, seria necessário obter os dados completos do autor, incluindo o nome, a partir do ID. Isso poderia ser feito, por exemplo, através de uma consulta ao banco de dados no método getAsObject do converter. Assim, ao invés de apenas retornar o objeto Autor com o ID setado, o converter poderia retornar o objeto Autor completo, com todas as informações necessárias, incluindo o nome.

Portanto, para obter o nome do autor e devolvê-lo para a página, seria necessário fazer uma consulta ao banco de dados ou utilizar alguma outra estratégia para buscar os dados completos do autor a partir do ID.

Espero ter ajudado a esclarecer a sua dúvida! Bons estudos!