FC ConcursosFC Concursos

Questão FC373618

Considere o método a seguir, de uma classe presente em uma aplicação Java que utiliza JPA, em condições ideais. public List<Servico> listarTodosServicos() { TypedQuery<Servico> que

Plataforma Java EE

FCC · 2023

Considere o método a seguir, de uma classe presente em uma aplicação Java que utiliza JPA, em condições ideais.

 

public List<Servico> listarTodosServicos() {

TypedQuery<Servico> query;

query = em.createNamedQuery{"Servico.findAll", Servico.class);

try {

 

\(\underset{......}{I}\) 

return services;

}catch (NoResultException ex) {

return null;

}finally {

close();

}

}

 

Para se obter a lista de serviços, o comando que preenche corretamente a lacuna I é:

  1. List<Servico> services = query.getResult().toList();
  2. List<Servico> services = query.executeQuery() ;
  3. ArrayList<Servico> services = {ArrayList) query.getList() ;
  4. ArrayList<Servico> services = query.getResultList();
  5. List<Servico> services = query.getResultList();
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

A instrução correta é List<Servico> services = query.getResultList();. Esse comando chama o método getResultList() da interface TypedQuery, que executa a consulta e retorna uma List contendo instâncias de Servico.

Ao usar getResultList() você obtém diretamente uma coleção pronta para iteração ou retorno pelo método, sem precisar instanciar manualmente uma lista.

Em cenário JPA, a query foi criada por em.createNamedQuery("Servico.findAll", Servico.class), portanto o tipo da lista coincide com a entidade esperada.

O bloco try/catch continua válido para capturar NoResultException quando aplicável, e o finally garante o fechamento do recurso (EntityManager).

Resumo: getResultList() é o método apropriado para recuperar várias entidades resultantes de uma consulta TypedQuery em JPA.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo