Բովանդակություն:

Ո՞րն է գործարքների կառավարման կանխադրված վերադարձի քաղաքականությունը:
Ո՞րն է գործարքների կառավարման կանխադրված վերադարձի քաղաքականությունը:

Video: Ո՞րն է գործարքների կառավարման կանխադրված վերադարձի քաղաքականությունը:

Video: Ո՞րն է գործարքների կառավարման կանխադրված վերադարձի քաղաքականությունը:
Video: Ավանդ vs պարտատոմս. ո՞րն է ֆինանսապես ավելի ձեռնտու. «Բիզնեսի անատոմիա» 2024, Նոյեմբեր
Anonim

Իր մեջ լռելյայն կոնֆիգուրացիան, Spring Framework-ը գործարք ենթակառուցվածքի կոդը միայն նշում է a գործարք համար հետ վերադարձ գործարկման ժամանակի դեպքում՝ չստուգված բացառություններ. այսինքն, երբ նետված բացառությունը RuntimeException-ի օրինակ կամ ենթադաս է: (Սխալները նույնպես կլինեն լռելյայն - արդյունքում ա հետ վերադարձ ).

Հարցրեց նաև՝ ի՞նչ է գործարքների կառավարումը:

Գովազդներ. Տվյալների բազա գործարք գործողությունների հաջորդականություն է, որը դիտարկվում է որպես աշխատանքի մեկ միավոր: Այս գործողությունները կամ պետք է ամբողջությամբ ավարտվեն, կամ ընդհանրապես ուժ չունենան: Գործարքների կառավարում RDBMS-ի վրա հիմնված ձեռնարկության հավելվածի կարևոր մասն է՝ ապահովելու տվյալների ամբողջականությունն ու հետևողականությունը:

Երկրորդ, ինչպե՞ս եք վերաբերվում JPA-ի հետ վերադարձին: Հիշեք, որ կառույցի պահպանումը անմիջապես չի կատարում ներդիրի հարցում: Այն պարզապես ասում է Hibernate-ին, որ մինչև գործարքի ավարտը պետք է կատարվի ներդիր: Դեպի հետ վերադարձ գործարք, որը կարող եք օգտագործել @Transaction ծանոթագրությունը: Դուք կարող եք այն իրականացնել կամ մեթոդի կամ դասի մակարդակով:

Հետագայում հարցն այն է, թե ինչ է անում @transactional annotation-ը:

Այն գործարքի անոտացիա ինքն է սահմանում մեկ տվյալների բազայի շրջանակը գործարք . Համառության համատեքստ է պարզապես սինխրոնիզատոր օբյեկտ, որը հետևում է Java-ի սահմանափակ թվով օբյեկտների վիճակին և համոզվում, որ փոփոխություններն այդ օբյեկտների վրա են վերջիվերջո վերադարձավ տվյալների բազա:

Ինչպե՞ս կարող եմ հետ վերադարձնել գործարքը Java-ում:

Պարտավորություն/Վերադարձ գործարքի օրինակ

  1. Բեռնեք JDBC դրայվերը՝ օգտագործելով դասի forName(String className) API մեթոդը:
  2. Ստեղծեք կապ տվյալների բազայի հետ:
  3. Անջատեք ավտոմատ կատարումը միացման setAutoCommit(boolean autoCommit) API մեթոդով:
  4. Կատարեք SQL թարմացումներ և կատարեք դրանցից յուրաքանչյուրը՝ Connection-ի commit() API մեթոդով:

Խորհուրդ ենք տալիս: