Pular para o conteúdo principal

Questão de Programação — Plataforma Java — FCC 2025

ProgramaçãoPlataforma Java
Código
fc074045
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2025
Nível
Superior
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade: Análise de Sistemas de Informação
O JPA é uma especificação da plataforma Java que define um padrão para mapeamento objeto-relacional (ORM) e gerenciamento de persistência de dados. No JPA, a forma padrão de realizar o mapeamento de objetos Java (POJOs) para tabelas de bancos de dados relacionais é por meio de
  1. Aconfigurações XML como persistence.xml, entity.xml e mapping.xml.
  2. Banotações como @Entity, @Id, @Table e @Column.
  3. Cinterfaces como EntityFactory, QueryBuilder e PersistenceUnit.
  4. Dclasses como HibernateSession, EntityManagerFactory e DataMapper.
  5. Eanotações como @Database, @Primary, @Relation e @Field.
Revelar gabarito e comentário

GabaritoB — anotações como @Entity, @Id, @Table e @Column.

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”.

JPA – Mapeamento Objeto-Relacional

Gabarito: letra B. O JPA utiliza anotações padrão em classes Java para realizar o mapeamento objeto-relacional (ORM). As anotações @Entity, @Id, @Table e @Column são as principais para definir entidades, chaves, tabelas e colunas, respectivamente.

A questão cobra o conhecimento do mecanismo padrão do JPA para ORM. É essencial saber que o JPA define um conjunto de anotações (e alternativamente XML) para mapear POJOs a tabelas, mas as anotações são a forma mais comum e direta.

Alternativa A — ❌ Incorreta

Arquivos XML como persistence.xml são usados para configurar a unidade de persistência, mas não para o mapeamento de objetos a tabelas. O mapeamento pode ser feito via XML (arquivos orm.xml), mas a alternativa menciona entity.xml e mapping.xml que não são nomes padrão. A questão pede a forma padrão, que é com anotações.

Alternativa B — ✅ Correta ⟵ GABARITO

Exatamente: @Entity marca a classe como entidade, @Id define a chave primária, @Table especifica a tabela e @Column mapeia atributos a colunas. Essas anotações fazem parte do pacote javax.persistence (ou jakarta.persistence).

Alternativa C — ❌ Incorreta

Interfaces como EntityFactory, QueryBuilder e PersistenceUnit não existem no JPA. Os equivalentes reais são EntityManagerFactory, TypedQuery e Persistence (classe). Mapeamento não é feito por interfaces, e sim por anotações ou XML.

Alternativa D — ❌ Incorreta

HibernateSession é uma classe específica do Hibernate, não do JPA (embora Hibernate seja uma implementação, o JPA define sua própria interface EntityManager). EntityManagerFactory existe no JPA, mas não é usado para mapeamento. DataMapper não faz parte do JPA. A alternativa mistura conceitos de implementações com a especificação.

Alternativa E — ❌ Incorreta

Anotações como @Database, @Primary, @Relation e @Field não fazem parte do JPA. A banca tentou confundir com nomes similares. As corretas são @Entity, @Id, @ManyToOne etc. – mas a alternativa troca os nomes.

NÃO CAIA NESSA!

A alternativa E lista anotações que parecem relacionadas a banco de dados, mas não são as do JPA. O candidato pode confundir com anotações de outras tecnologias (ex.: @Primary do Spring Data? ) ou inventar. Decore as anotações padrão do JPA: @Entity, @Id, @Table, @Column, @GeneratedValue, etc.

Gabarito: letra B.

Link permanente: /questoes/fc074045