SaveAndFlush esetén a parancs változásai azonnal frissülnek a DB-ben. Mentésnél ez nem feltétlenül igaz, és csak addig marad a memóriában, amíg ki nem adnak egy flush vagy commit parancsot.
Fontos azonban megjegyezni, hogy még ha frissíted is a tranzakciós változásokat, és nem kötelezed el őket, a változások akkor sem láthatók a külső tranzakció számára, amíg nem köteleződnek el ebben a tranzakcióban.
A te esetedben valamilyen tranzakciós mechanizmust használsz, ami commit-parancsot ad ki, ha minden rendben van.
Használd a JPA saveAndFlush() módszert
Bevezetés, növelés és módosítás
Megjegyzés: A vezérlőrétegnek paramétereket kell szűrnie,
saveAndFlush Ez a módszer először meghatározza, hogy az persistent vagy a merge módszert használják az ID==null alapján A rendszer dönti el, hogy beillesztő-e vagy frissíti-e az adatbázisban rögzítve-e az azonosítót
A különbséget úgy vizsgáljuk, hogy dekompiláljuk a Java forráskódot
IDEA_ gyorsítvány az interfész megvalósításának megtalálásához
IDEA stílus ctrl + alt +B
Eclipse stílus ctrl +T
Mentési felület:
Megvalósítási módszer:
saveAndFlush interfész:
Megvalósítási módszer:
Ahogy a forráskódból is láthatod, a saveAndFlush metódus hívva,a saveAndFlush hívja a mentési módszert, majd az öyítő módszert。
(Vége)
|