Questão de Banco de Dados — Gerência de Transações — CESPE / CEBRASPE 2025
Banco de Dados›Gerê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.
CCerto
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.
1Entidade com @Version
2Transação lê entidade
3Outra transação modifica
4Versão no BD diverge
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.