Pular para o conteúdo principal

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

Engenharia de SoftwareDesenvolvimento de Software
Código
fc064071
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2022
Cargo
Analista Judiciário - Tecnologia da Informação
O uso da anotação @Audited antes do nome da classe de entidade do banco de dados, em uma aplicação que utiliza JPA, sinaliza ao
  1. AFlyway que a entidade já foi auditada.
  2. BHibernate Envers que a entidade será alvo de auditoria.
  3. CMap Struct que a entidade já foi auditada.
  4. DSpring Cloud que a entidade registra logs de transações com o banco de dados
  5. EService Discovery o caminho do arquivo de auditoria.
Revelar gabarito e comentário

GabaritoB — Hibernate Envers que a entidade será alvo de auditoria.

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

Anotação @Audited em JPA

Gabarito: letra B. A anotação @Audited é uma funcionalidade do Hibernate Envers, que habilita a auditoria automática de entidades JPA, registrando as alterações realizadas no banco de dados (inserções, atualizações, exclusões). Nenhuma das outras ferramentas listadas utiliza essa anotação.

A questão exige conhecimento específico sobre o ecossistema Java e as finalidades de cada framework. Veja por que cada alternativa está correta ou incorreta:

@Audited (JPA)
  • 1Hibernate Envers
    • Auditoria automática
      • INSERT
      • UPDATE
      • DELETE
    • Tabelas _AUD
  • 2Não é
    • Flyway (migração)
    • MapStruct (mapeamento)
    • Spring Cloud (microsserviços)
    • Service Discovery (descoberta)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Flyway é uma ferramenta de migração de banco de dados (versionamento de schemas). Não realiza auditoria de dados; sua anotação típica é @Flyway (quando usada com Spring). O @Audited não é reconhecido pelo Flyway.

Alternativa B — ✅ Correta ⟵ GABARITO

Hibernate Envers é o módulo do Hibernate que fornece auditoria de entidades. Ao anotar uma entidade com @Audited, o Envers passa a rastrear todas as operações de escrita (INSERT, UPDATE, DELETE) e armazena o histórico em tabelas de auditoria (sufixo _AUD). É a resposta correta.

Alternativa C — ❌ Incorreta

MapStruct é um gerador de código para mapeamento entre objetos (DTOs, entidades, etc.). Suas anotações são @Mapper, @Mapping, etc. Não possui suporte a auditoria ou @Audited.

Alternativa D — ❌ Incorreta

Spring Cloud é um conjunto de ferramentas para microsserviços (configuração distribuída, descoberta, load balancing, etc.). Não está relacionado a auditoria de entidades JPA. A anotação @Audited não faz parte do Spring Cloud.

Alternativa E — ❌ Incorreta

Service Discovery (como Eureka, Consul) permite que serviços se descubram em uma arquitetura de microsserviços. Não tem qualquer relação com auditoria de banco de dados ou anotação @Audited.

PEGA ESSA DICA!

Memorize a associação: @Audited → Hibernate Envers. Além disso, saiba que o Envers gera automaticamente tabelas de auditoria (ex.: Cliente_AUD) e mantém versões das entidades. É um recurso útil para rastrear alterações sem precisar implementar manualmente.

Gabarito: letra B.

Link permanente: /questoes/fc064071