Senior
Ի՞նչ է տալիս @Transactional նշումը և ինչ հատկություններ ունի:
sobes.tech AI
Պատասխան AI-ից
Java- ում @Transactional նշումը օգտագործվում է գործարքների կառավարում համար մեթոդների կամ դասերի մակարդակով: Այն երաշխավորում է, որ գործարքի ներսում բոլոր գործողությունները կատարվեն ագրեգատորեն՝ կամ բոլորը հաջողությամբ, կամ սխալի դեպքում կատարվի վերականգնում:
@Transactional-ի հիմնական հատկությունները՝
- propagation — որոշում է գործարքի վարքագիծը այլ գործարքային կոնտեքստից կանչելիս (օրինակ, REQUIRED, REQUIRES_NEW):
- isolation — գործարքի մեկուսացման մակարդակը (READ_COMMITTED, SERIALIZABLE և այլն), ազդում է տվյալների տեսանելիության վրա:
- timeout — սպասման ժամանակը գործարքի ավարտին, որի ավարտից հետո այն կդադարեցվի:
- readOnly — նշում է, որ գործարքը միայն ընթերցանության համար է, ինչը կարող է օպտիմալացնել տվյալների բազայի հետ աշխատանքը:
- rollbackFor / noRollbackFor — արտահայտչական դասեր, որոնց դեպքում գործարքը կվերականգնվի կամ ոչ:
Օրինակ՝
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, readOnly = false)
public void updateData() {
// բիզնես տրամաբանություն
}