Questão de Programação — Frameworks Java — CESPE / CEBRASPE 2025
- Código
- ce203947
- Banca
- CESPE / CEBRASPE
- Órgão
- FUB
- Ano
- 2025
- Nível
- Médio
- Cargo
- Técnico de Tecnologia da Informação
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ❌ ERRADO. O método persist() do EntityManager não lança exceção quando a entidade já está associada ao contexto de persistência (gerenciada) com o mesmo identificador. Segundo a especificação JPA, se a entidade já é gerenciada, a operação persist() é ignorada, sem lançamento de exceção. A exceção ocorre, por exemplo, ao tentar persistir uma entidade detached (desanexada) que já possui um identificador, ou ao violar restrições de unicidade no banco de dados.
A afirmação do enunciado confunde dois cenários: entidade gerenciada (managed) e entidade detached (desanexada). Para entidades gerenciadas, persist() é uma operação segura e não lança exceção. Para entidades detached, o método merge() é o mais apropriado.
A banca troca o comportamento esperado: persist() lança exceção para entidades detached com identificador existente, não para entidades gerenciadas. Memorize: se a entidade já está no contexto de persistência, persist() é inócuo.
❌ ERRADO
Link permanente: /questoes/ce203947