Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

240
Vistas
@Actualización múltiple transaccional; cometer cada consulta

Tengo 2 métodos en mi servicio

 public void updateAll() { long[] ids = new long[] {1,2,3,4,5,6,7,8,9,10}; for (long id : ids) { updateId(id); } } public updateId(long id) { repository.update(id); }

Supongamos que después de la quinta actualización tengo una excepción, me gustaría que las primeras 4 operaciones se confirmen de todos modos.

Estoy usando la anotación @Transactional pero si pongo la anotación en ambos métodos no funciona.

¿Necesito otro parámetro? puede ser propagacion??

¿Podría mostrarme cómo configurar estos métodos?

¡¡Gracias!!

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Necesita un @Transactional separado en updateId con REQUIRES_NEW .

over 4 years ago · Santiago Trujillo Denunciar

0

Solo tienes:

 @Transactional(propagation = Propagation.REQUIRES_NEW) public updateId(long id) { }

Pero, lo importante, llama a ese método desde otra clase. es decir, mueva su ciclo fuera de esta clase.

Las anotaciones transaccionales solo se activan cuando se llama a ese método público desde el exterior. Dentro de la misma clase, llamar a un método transaccional desde otro solo usará la transacción del primer método.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda