Questão de Engenharia de Software — Desenvolvimento de Software — FCC 2022
Engenharia de Software›Desenvolvimento 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
AFlyway que a entidade já foi auditada.
BHibernate Envers que a entidade será alvo de auditoria.
CMap Struct que a entidade já foi auditada.
DSpring Cloud que a entidade registra logs de transações com o banco de dados
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.