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.