Alternativa A - getResultList
Contexto da Pergunta
A questão aborda conceitos fundamentais do JPA (Java Persistence API), especificamente sobre a execução de consultas via JPQL (Java Persistence Query Language). O objetivo é identificar o método correto para recuperar dados do banco de dados após montar uma consulta.
Como funciona a Execução de Consultas no JPA
No ecossistema Java/Jakarta EE, ao utilizar o JPA, o fluxo padrão para buscar dados segue estes passos:
- Criação da Query: Utiliza-se o
EntityManager para criar um objeto de consulta.
query = entityManager.createQuery("SELECT e FROM Entity e") - Execução: Aplica-se o método de execução para obter os resultados.
- Retorno: Dependendo do tipo de dado esperado, o método varia.
Para obter uma coleção de entidades (uma lista de objetos), o método padrão da interface Query é o getResultList(). Ele retorna um List<T> contendo todos os objetos encontrados pela consulta.
Análise das Alternativas
| Alternativa | Método | Status | Explicação |
|---|
| A | getResultList | Correto | É o método oficial da interface Query para retornar uma lista de resultados. |
| B | createEntityManager | Incorreto | Não é um método de execução de consulta. O gerenciador é criado pelo container ou factory. |
| C | getEntityManager | Incorreto | Geralmente associado à obtenção do gerenciador em si, não à execução de queries. |
| D | createResultList | Incorreto | Este método não existe na API padrão do JPA. |
Observação Técnica:
Existe também o método getSingleResult(), utilizado quando se sabe que a consulta retornará apenas um registro. Porém, a questão especifica explicitamente a obtenção de uma "coleção", confirmando o uso de getResultList().
Alternativa A.