Sobes.tech
Senior

Ονομάστε τις παραμέτρους της σημείωσης @Transactional

sobes.tech AI

Απάντηση από AI

Η ετικέτα @Transactional στο Spring χρησιμοποιείται για τη διαχείριση των συναλλαγών και έχει αρκετές βασικές παραμέτρους:

  • propagation — ορίζει τη συμπεριφορά της συναλλαγής κατά την κλήση μιας μεθόδου, π.χ., REQUIRED, REQUIRES_NEW, SUPPORTS κ.ά.
  • isolation — επίπεδο απομόνωσης της συναλλαγής, π.χ., READ_COMMITTED, SERIALIZABLE.
  • timeout — μέγιστος χρόνος εκτέλεσης της συναλλαγής σε δευτερόλεπτα.
  • readOnly — υποδεικνύει αν η συναλλαγή είναι μόνο για ανάγνωση, κάτι που μπορεί να βελτιστοποιήσει τη δουλειά με τη βάση δεδομένων.
  • rollbackFor και noRollbackFor — κλάσεις εξαιρέσεων στις οποίες η συναλλαγή πρέπει ή δεν πρέπει να ανακληθεί.

Παράδειγμα χρήσης:

@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, readOnly = false, rollbackFor = Exception.class)
public void updateData() {
    // επιχειρηματική λογική
}