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
- query.getResult().toList()
- manager.excuteQuery()
- query.getResult()
- query.getResultList()
- 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