Sobes.tech
Senior
105

რა სარგებელს აძლევს @Transactional ანოტაცია და რა ატრიბუტები აქვს?

კომპანიებმა სადაც სთხოვეს
Позитив Технолоджис

პასუხი AI-სგან

sobes.tech AI

Java-ში @Transactional ნიშანი გამოიყენება ტრანზაქციების მართვისთვის მეთოდების ან კლასების დონეზე. იგი უზრუნველყოფს, რომ ტრანზაქციის ფარგლებში ყველა ოპერაცია შესრულდება ატომურად: ან ყველა წარმატებით, ან შეცდომის შემთხვევაში მოხდება rollback.

@Transactional-ის ძირითადი ატრიბუტები:

  • propagation — განსაზღვრავს ტრანზაქციის ქცევას სხვა ტრანზაქციული კონტექსტიდან გამოძახებისას (მაგ., REQUIRED, REQUIRES_NEW).
  • isolation — ტრანზაქციის იზოლაციის დონე (READ_COMMITTED, SERIALIZABLE და სხვა), გავლენას ახდენს მონაცემების ხილვადობაზე.
  • timeout — დრო, რომელიც ელოდება ტრანზაქციის დასრულებას, ამის შემდეგ იგი გაჩერდება.
  • readOnly — მიუთითებს, რომ ტრანზაქცია მხოლოდ წასაკითხადაა, რაც შეიძლება ოპტიმიზიროს მონაცემთა ბაზასთან მუშაობა.
  • rollbackFor / noRollbackFor — კლასები გამონაკლისებისთვის, რომლებიც გამოიწვევს ან არ გამოიწვევს rollback-ს.

მაგალითი:

@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, readOnly = false)
public void updateData() {
    // ბიზნეს ლოგიკა
}