Pular para o conteúdo principal

Questão de Engenharia de Software — Desenvolvimento de Software — FCC 2022

Engenharia de SoftwareDesenvolvimento de Software
Código
fc064069
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2022
Cargo
Analista Judiciário - Tecnologia da Informação
Em uma aplicação que utiliza JPA 2.0, a interface a partir da qual se pode mapear um conjunto de classes para um banco de dados particular, permitindo a criação de consultas, a busca de objetos e a inserção de objetos no banco de dados, é a interface
  1. AEntityManagerBuilder.
  2. BEntityTransaction.
  3. CTypedQuery.
  4. DEntityManager.
  5. EPreparedStatement.
Revelar gabarito e comentário

GabaritoD — EntityManager.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Interface central do JPA 2.0

Gabarito: letra D. A interface EntityManager é o núcleo da JPA (Java Persistence API) para operações de persistência. Ela gerencia o contexto de persistência, permite criar consultas (via createQuery, createNamedQuery), buscar objetos (find, getReference) e inserir/atualizar/remover entidades (persist, merge, remove). As demais alternativas são outras interfaces da JPA ou JDBC, mas não correspondem à descrição fornecida.

A questão exige conhecimento das principais interfaces da JPA 2.0 e suas responsabilidades. O EntityManager é a porta de entrada para todas as operações com o banco de dados no modelo orientado a objetos.

Alternativa A — ❌ Incorreta

EntityManagerBuilder não é uma interface padrão da JPA 2.0. A API JPA utiliza EntityManagerFactory para obter instâncias de EntityManager, e não um "Builder" específico. Essa alternativa confunde com padrões de fábrica ou builders de outras bibliotecas.

Alternativa B — ❌ Incorreta

EntityTransaction é a interface usada para controlar transações (begin, commit, rollback), obtida a partir do EntityManager (getTransaction()). Ela não realiza o mapeamento objeto-relacional nem operações de busca/inserção de objetos diretamente.

Alternativa C — ❌ Incorreta

TypedQuery é uma interface para consultas tipadas (evita casting), obtida via EntityManager.createQuery(). Embora seja usada para criar consultas, não é ela quem mapeia classes ou permite inserção de objetos; é apenas um resultado da EntityManager.

Alternativa D — ✅ Correta ⟵ GABARITO

EntityManager é a interface central da JPA. Ela gerencia entidades, provê métodos para persistir (persist), buscar (find), remover (remove) e criar consultas (createQuery). Exatamente a descrição do enunciado: mapeia classes para um banco de dados, permite criação de consultas, busca e inserção de objetos.

NÃO CAIA NESSA!

A banca lista interfaces que fazem parte do ecossistema JPA, mas com funções bem distintas. O aluno que não domina as responsabilidades de cada uma pode confundir TypedQuery (consulta) ou EntityTransaction (transação) com a função central de EntityManager. Lembre-se: o EntityManager é o "gerente" de todo o ciclo de vida das entidades.

Alternativa E — ❌ Incorreta

PreparedStatement é uma interface do JDBC (API de baixo nível para acesso a bancos relacionais), não faz parte da JPA. A JPA é uma abstração sobre JDBC, e não utiliza PreparedStatement diretamente no código do desenvolvedor.

Gabarito: letra D.

Link permanente: /questoes/fc064069