Questão nº 25

Questão de Tecnologia da Informação · FCC TRT5 2022 (nº 25)

FCC2022Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Ever comentário ↓

Atenção: O Modelo Entidade-Relacionamento abaixo deve ser utilizado para responder as questões de números 21 a 25.

Figura da questão de Tecnologia da Informação


Em uma aplicação que utiliza JPA e Hibernate, em condições ideais, a codificação correta do trecho que define o atributo da classe Login.java, que é chave primária na tabela Login do Modelo Entidade-Relacionamento é

Este texto de apoio vale também pra questão nº 21, questão nº 22, questão nº 23, questão nº 24.

Resposta comentada

Gabarito Alternativa E

Em JPA e Hibernate, a chave primária de uma tabela é o campo que identifica unicamente cada registro. Para mapear esse campo em uma classe Java, usamos a anotação `@Id` e, geralmente, `@Column` para especificar o nome da coluna no banco de dados.

(A) Incorreta: `@Pk` não é uma anotação padrão JPA para chave primária; o correto é `@Id`. `@NotNull(false)` é uma anotação de Bean Validation, não JPA, e `false` indicaria que o campo pode ser nulo, o que é incorreto para uma chave primária. `@ColumnName` não é uma anotação padrão JPA; o correto é `@Column(name = "...")`. Armadilha: O uso de `@NotNull(false)` é confuso; `@NotNull` é de validação, não de mapeamento JPA, e `false` sugere que o campo pode ser nulo, o oposto do que uma chave primária exige.
(B) Incorreta: Embora `@Id` esteja correto, `@Basic(optional = true)` indica que o campo pode ser nulo, o que é inválido para uma chave primária. Além disso, `@JoinColumn` é usado para mapear chaves estrangeiras (FKs), não para um atributo simples de chave primária.
(C) Incorreta: `@PrimaryKey` não é uma anotação padrão JPA; o correto é `@Id`. `@Basic(required = true)` usa um atributo `required` que não existe na anotação `@Basic` padrão JPA (o correto seria `optional = false`). `@Field` não é uma anotação padrão JPA para mapeamento de coluna; o correto é `@Column(name = "...")`.
(D) Incorreta: `@Pk` não é uma anotação padrão JPA; o correto é `@Id`. `@Basic(required = true)` usa um atributo `required` que não existe na anotação `@Basic` padrão JPA.
(E) Correta: `@Id` é a anotação padrão JPA que marca o campo como a chave primária da entidade. `@Basic(optional = false)` explicitamente define que o campo não pode ser nulo, o que é uma característica essencial de uma chave primária (embora `@Id` já implique isso). `@Column(name = "emailFuncionario")` mapeia o atributo Java `emailFuncionario` para a coluna do banco de dados com o nome `emailFuncionario`, garantindo a correspondência correta.

Fonte: FCC TRT5 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho