Sobes.tech
Junior — Middle

Czy możesz wymienić główne argumenty używane przy deklarowaniu adnotacji @Transactional?

sobes.tech AI

Odpowiedź od AI

Adnotacja @Transactional w Java (zazwyczaj w Spring Framework) służy do zarządzania transakcjami. Główne argumenty, które można określić podczas deklarowania tej adnotacji:

  • propagation — określa zachowanie transakcji podczas wywoływania metody, np. REQUIRED, REQUIRES_NEW.
  • isolation — poziom izolacji transakcji, np. READ_COMMITTED, SERIALIZABLE.
  • timeout — czas w sekundach, po którym transakcja zostanie przerwana, jeśli się nie zakończy.
  • readOnly — flaga wskazująca, że transakcja jest tylko do odczytu (optymalizacja).
  • rollbackFor — lista wyjątków, dla których transakcja powinna zostać wycofana.
  • noRollbackFor — wyjątki, dla których wycofanie nie następuje.

Przykład użycia:

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