Questão nº 16

Questão de Arquitetura de Desenvolvimento de Software · FGV SEFAZ-AM 2022 - Prova II (nº 16)

FGV2022Analista de Tecnologia da Informação da Fazenda EstadualArquitetura de Desenvolvimento de Software
Gabarito: Ever comentário ↓

Java Persistence API (JPA) é um recurso da linguagem Java que descreve uma interface comum para frameworks de persistência de dados.
Analise o código a seguir da classe User especificada como uma entidade JPA.

Figura da questão de Arquitetura de Desenvolvimento de Software

O atributo creationTime é responsável por guardar a data e a hora de criação da entidade User.
A anotação do JPA, versão 2.0, que deve ser usada para anotar creationTime para especificar que este atributo deve ser armazenado no banco de dados com precisão timestamp, é

Resposta comentada

Gabarito Alternativa E

A Java Persistence API (JPA) precisa de uma forma de dizer ao banco de dados como armazenar tipos de data e hora do Java, pois o banco tem opções diferentes para guardar só a data, só a hora ou ambos.

  • (A) Incorreta: @Basic é a anotação padrão para persistir atributos simples, mas para java.util.Date ou java.util.Calendar, ela não especifica a precisão (se é só data, só hora ou data e hora), que é o que a questão pede.
  • (B) Incorreta: @Datetime não é uma anotação padrão do JPA. A armadilha aqui é que o nome "Datetime" é muito sugestivo para o contexto de data e hora, fazendo parecer a escolha óbvia, mas essa anotação não existe no JPA.
  • (C) Incorreta: @Embeddable é usada para marcar uma classe cujos atributos serão incorporados diretamente na tabela de outra entidade, não tendo relação com a precisão de tipos de data/hora.
  • (D) Incorreta: @Lob (Large Object) é utilizada para mapear atributos que armazenam grandes volumes de dados, como textos longos ou arquivos binários, e não para tipos de data e hora.
  • (E) Correta: @Temporal é a anotação correta no JPA para especificar a precisão de campos do tipo java.util.Date ou java.util.Calendar no banco de dados, permitindo escolher entre TemporalType.DATE, TemporalType.TIME ou TemporalType.TIMESTAMP, que é exatamente o que a questão solicita.

Fonte: FGV SEFAZ-AM 2022 - Prova II Analista de Tecnologia da Informação da Fazenda Estadual (Caderno Tipo 1). 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