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() {
// ბიზნეს ლოგიკა
}