Transakcje
Transakcje gwarantują, że albo wszystkie operacje w ramach transakcji zostaną wykonane pomyślnie, albo żadna z nich nie zostanie wykonana. Są one niezbędne do utrzymania spójności danych podczas bardziej złożonych operacji.
Najprostszy sposób korzystania z transakcji wygląda następująco:
Znacznie czystszym i bardziej eleganckim sposobem osiągnięcia tego samego rezultatu jest użycie metody
transaction()
. Metoda ta przyjmuje jako parametr wywołanie zwrotne, które jest wykonywane w ramach transakcji.
Jeśli wywołanie zwrotne zostanie wykonane bez rzucenia wyjątku, transakcja zostanie automatycznie zatwierdzona. Jeśli zostanie
rzucony wyjątek, transakcja jest wycofywana, a wyjątek jest propagowany dalej.
Metoda transaction()
może również zwracać wartości: