Senior
103
Mit nyújt az @Transactional annotáció és milyen attribútumai vannak?
Cégeket kérdeztek
Позитив Технолоджис
Válasz az MI-től
sobes.tech MI
A @Transactional megjegyzés Java-ban az adatbázis tranzakciók kezelésére szolgál módszerek vagy osztályok szintjén. Biztosítja, hogy a tranzakcióban lévő összes művelet atomikusan legyen végrehajtva: vagy mind sikeres, vagy hiba esetén visszagörgetés történik.
A @Transactional fő attribútumai:
- propagation — meghatározza a tranzakció viselkedését, amikor más tranzakciós kontextusból hívják (pl. REQUIRED, REQUIRES_NEW).
- isolation — a tranzakció elszigeteltségi szintje (READ_COMMITTED, SERIALIZABLE stb.), befolyásolja az adatok láthatóságát.
- timeout — a tranzakció befejezéséig várakozási idő, amit követően megszakad.
- readOnly — jelzi, hogy a tranzakció csak olvasási célt szolgál, ez optimalizálhatja az adatbázissal való munkát.
- rollbackFor / noRollbackFor — kivétel osztályok, amelyek esetén a tranzakció visszagörgetésre kerül vagy sem.
Példa:
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, readOnly = false)
public void updateData() {
// üzleti logika
}