INHOUDSOPGAWE:

Wat is die verstek terugrolbeleid in transaksiebestuur?
Wat is die verstek terugrolbeleid in transaksiebestuur?

Video: Wat is die verstek terugrolbeleid in transaksiebestuur?

Video: Wat is die verstek terugrolbeleid in transaksiebestuur?
Video: Policies to Improve Governance: A Simple Framework 2024, Maart
Anonim

In sy verstek opset, die Lenteraamwerk s'n transaksie infrastruktuurkode merk slegs a transaksie vir terugrol in die geval van looptyd, ongemerkte uitsonderings; dit wil sê wanneer die gegooide uitsondering 'n instansie of subklas van RuntimeException is. (Foute sal ook - deur verstek - lei tot 'n terugrol ).

Ook gevra, wat is transaksiebestuur?

Advertensies. 'n Databasis transaksie is 'n reeks handelinge wat as 'n enkele werkeenheid behandel word. Hierdie aksies moet óf heeltemal voltooi óf geen effek hê nie. Transaksiebestuur is 'n belangrike deel van RDBMS-georiënteerde ondernemingstoepassing om data-integriteit en konsekwentheid te verseker.

Tweedens, hoe hanteer jy terugrol in JPA? Onthou as om te volhard, voer 'n entiteit nie 'n invoegnavraag onmiddellik uit nie. Dit vertel net vir Hibernate dat, voor die einde van die transaksie, 'n insetsel uitgevoer sal moet word. Om terugrol 'n transaksie wat jy kan gebruik @Transaction annotasie. U kan dit óf op metodevlak óf klasvlak implementeer.

Die vraag is dan, wat doen @transactional annotation?

Die transaksionele annotasie self definieer die omvang van 'n enkele databasis transaksie . Die volhardingskonteks is net 'n sinchronisator-objek wat die toestand van 'n beperkte stel Java-objekte naspoor en seker maak dat veranderinge op daardie voorwerpe is uiteindelik terug in die databasis volgehou.

Hoe kan ek 'n transaksie in Java terugdraai?

Commit/Rollback transaksie voorbeeld

  1. Laai die JDBC-bestuurder deur die forName(String className) API-metode van die klas te gebruik.
  2. Skep 'n verbinding met die databasis.
  3. Deaktiveer outomatiese commit, met die setAutoCommit(boolean autoCommit) API-metode van die verbinding.
  4. Doen SQL-opdaterings en pleeg elkeen van hulle, met die commit() API-metode van die verbinding.

Aanbeveel: