Sobes.tech
Senior

Wymień parametry adnotacji @Transactional

sobes.tech AI

Odpowiedź od AI

Adnotacja @Transactional w Springu służy do zarządzania transakcjami i ma kilka kluczowych parametrów:

  • propagation — określa zachowanie transakcji podczas wywoływania metody, np. REQUIRED, REQUIRES_NEW, SUPPORTS itp.
  • isolation — poziom izolacji transakcji, np. READ_COMMITTED, SERIALIZABLE.
  • timeout — maksymalny czas wykonania transakcji w sekundach.
  • readOnly — wskazuje, czy transakcja jest tylko do odczytu, co może zoptymalizować pracę z bazą danych.
  • rollbackFor i noRollbackFor — klasy wyjątków, dla których transakcja powinna lub nie powinna być wycofana.

Przykład użycia:

@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, readOnly = false, rollbackFor = Exception.class)
public void updateData() {
    // logika biznesowa
}