Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

480
Visualizações
Cómo deshabilitar el bloqueo optimista en Spring Data JPA

La anotación de bloqueo optimista no funciona.

 @OptimisticLocking(type = OptimisticLockType.NONE) public class TestEntity { .... }

y la anotación @Lock tampoco funciona:

 public interface TestRepository<TestEntity, Long> extends JpaRepository<Version, Long> { @Lock(LockModeType.NONE) TestEntity findByName(String name); }

Entonces, trato de llamar:

 entityManager.refresh();

Funciona, pero es una solución.

 EntityManager em = sharedEntityManagerBean.getObject(); em.refresh(testEntity, LockModeType.OPTIMISTIC); testRepository.save(testEntity);

¿Podría decirme por qué la anotación de bloqueo optimista no funciona y cuál es la mejor manera de actualizar la fila DB (entidad) con los datos más recientes?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

OptimisticLockType.NONE deshabilita el mecanismo de bloqueo optimista predeterminado para TestEntity .

Sin embargo, eso solo sería útil si heredó la propiedad @Version de una clase base que está anotada con @MappedSuperclass o @Inheritance .

En su caso, podría simplemente eliminar la propiedad @Version si no desea un bloqueo optimista para esta entidad. Sin embargo, suele ser una mala idea, ya que podría provocar la pérdida de actualizaciones .

Tal vez desee utilizar el bloqueo optimista sin versión que puede reducir la tasa de conflictos generados por cambios de propiedad que no se superponen.

De nuevo, @Lock(LockModeType.NONE) es inútil ya que está implícito de forma predeterminada. Puedes eliminar eso también. Eso solo está destinado a adquirir un bloqueo lógico o físico explícito .

Está sacando conclusiones equivocadas al pensar que el bloqueo optimista está causando un problema que ni siquiera describió.

Por lo tanto, debe formular la pregunta de manera adecuada para que quede clara:

  1. ¿Cuál es el problema real que está tratando de resolver?
  2. ¿Quieres un bloqueo optimista o no?
  3. ¿Obtiene una excepción particular al guardar?
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda