FC ConcursosFC Concursos

Questão FC373630

Considere o trecho de código a seguir, presente em um método de uma classe de aplicação criada utilizando-se JPA. TypedQuery<Departamento> query = manager.createNamedQuery("Departa

Plataforma Java EE

FCC · 2022

Considere o trecho de código a seguir, presente em um método de uma classe de aplicação criada utilizando-se JPA.

 

TypedQuery<Departamento> query = manager.createNamedQuery("Departamento.findAll",

Departamento.class); List<Departamento> departamentos = \(\overset{I}{.......}\);

 

Departamento.findAll é uma query nomeada na classe Departamento, que retorna todos os departamentos cadastrados na tabela departamento do banco de dados. O objeto manager é um objeto do tipo EntityManager criado sobre uma conexão válida com um banco de dados. Considere que todos os recursos necessários foram importados e que a conexão com o banco de dados foi realizada com sucesso. Nestas condições, para se obter a lista de departamentos retornada da tabela do banco de dados a lacuna I deve ser corretamente preenchida por

  1. query.getResult().toList()
  2. manager.excuteQuery()
  3. query.getResult()
  4. query.getResultList()
  5. manager.executeQuery(query)
Mostrar resposta e comentário

Gabarito

D

Comentário do professor

query.getResultList() é o método correto para recuperar do banco todos os registros retornados por uma TypedQuery<Departamento> como uma coleção.

Ao invocá‑lo o JPA executa a query e devolve uma List<Departamento>, já tipada, o que evita casts explícitos e preserva a segurança de tipos.

Importante: quando não há resultados, o método retorna uma lista vazia (empty list), não null, portanto é seguro iterar ou verificar o tamanho sem risco de NPE.

Na prática a atribuição fica assim:
List<Departamento> departamentos = query.getResultList(); — essa chamada materializa os resultados da consulta para uso na aplicação.

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

Continue aprendendo