Pular para o conteúdo principal

Questão de Banco de Dados — Gerência de Transações — CESPE / CEBRASPE 2025

Banco de DadosGerência de Transações
Código
ce219036
Banca
CESPE / CEBRASPE
Órgão
TRF - 6ª REGIÃO
Ano
2025
Nível
Superior
Cargo
Analista Judiciário – Área: Apoio Especializado – Especialidade: Análise de Sistemas de Informação
No que se refere a testes de verificação de qualidade de códigos automatizados e a persistência, julgue o próximo item.No JPA 2.0, a exceção OptimisticLockException pode ocorrer na tentativa de atualizar ou remover uma entidade modificada por outra transação, independentemente de controle de versão aplicado à entidade.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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

OptimisticLockException no JPA 2.0

❌ ERRADO. A exceção OptimisticLockException no JPA 2.0 depende do controle de versão (coluna @Version) para ser lançada. A afirmação de que pode ocorrer "independentemente de controle de versão" é incorreta: sem uma coluna de versão, o JPA não detecta conflitos de concorrência otimista e, portanto, não lança essa exceção.

  1. 1Entidade com @Version
  2. 2Transação lê entidade
  3. 3Outra transação modifica
  4. 4Versão no BD diverge
  5. 5[-] OptimisticLockException
LEVEL · soulevel.com.br

Alternativa C — ❌ Incorreta

Afirma que a OptimisticLockException pode ocorrer "independentemente de controle de versão". Isso é falso. O mecanismo de locking otimista no JPA baseia-se em uma coluna de versão (anotada com @Version). Quando uma transação tenta atualizar ou remover uma entidade, o JPA verifica se o valor da versão no banco de dados coincide com o valor lido originalmente. Se houver divergência (porque outra transação modificou a entidade), a OptimisticLockException é lançada. Sem essa coluna, não há verificação e a transação prossegue sem exceção (podendo sobrescrever alterações). Portanto, a exceção não ocorre independentemente do controle de versão.

Alternativa E — ✅ Correta ⟵ GABARITO

Conforme explicado, a afirmação é falsa. A banca Cespe/Cebraspe exige conhecimento sobre o funcionamento do locking otimista no JPA: a ocorrência da OptimisticLockException está condicionada à existência de um controle de versão (@Version). Sem ele, não há detecção de conflitos.

NÃO CAIA NESSA!

A banca inverte o requisito: afirma que a exceção ocorre "independentemente" de controle de versão, quando na verdade ela depende desse controle. Candidatos que conhecem superficialmente o tema podem marcar "Certo" por associar a exceção a conflitos de concorrência, sem lembrar que o mecanismo exige a coluna de versão.

Gabarito: letra E — Errado.

Link permanente: /questoes/ce219036