Sobes.tech
Junior — Middle

@Transactional qeydiyyatı necə işləyir və tranzaksiya bütövlüyünü təmin etmək üçün hansı mexanizmləri istifadə edir?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da (adətən Spring Framework-də) @Transactional annotasiyası, metodların və ya siniflərin tranzaksiya çərçivəsində işləməsini göstərmək üçün istifadə olunur.

O, təmin edir:

  • Metoda daxil olarkən avtomatik tranzaksiya başlanması.
  • Uğurlu tamamlanma zamanı tranzaksiyanın təsdiqlənməsi.
  • İstisna baş verdikdə tranzaksiyanın geri alınması.

İstifadə olunan mexanizmlər:

  • Proxy-lər (dinamik və ya CGLIB) metod çağrılarını ələ keçirir.
  • Tranzaksiya meneceri (PlatformTransactionManager) tranzaksiyanın həyat dövrünü idarə edir.

Nümunə:

@Service
public class UserService {
    @Transactional
    public void createUser(User user) {
        userRepository.save(user);
        // burada RuntimeException atılsa, tranzaksiya geri alınacaq
    }
}

Beləliklə, @Transactional məlumatların bütövlüyünü təmin edir, tranzaksiyaları avtomatik idarə edir və açıq kod yazmağa ehtiyac olmadan başlanğıc, təsdiqləmə və ya geri alma əməliyyatlarını həyata keçirir.