Junior — Middle
Milyen típusú tranzakcióterjesztések léteznek a Spring Framework keretében?
sobes.tech MI
Válasz az MI-től
A Spring Framework-ben a tranzakciók következő típusai léteznek, amelyek meghatározzák, hogy a tranzakciókkal rendelkező módszerek hogyan lépnek kölcsönhatásba:
- PROPAGATION_REQUIRED (alapértelmezett) — ha már létezik tranzakció, a módszer abban fut, különben új jön létre.
- PROPAGATION_REQUIRES_NEW — mindig új tranzakció jön létre, a meglévő szünetel.
- PROPAGATION_SUPPORTS — ha van tranzakció, a módszer abban fut, különben tranzakció nélkül.
- PROPAGATION_NOT_SUPPORTED — a módszer tranzakción kívül fut, a meglévő tranzakció szünetel.
- PROPAGATION_NEVER — a módszer tranzakción kívül kell, hogy fusson, ha van, kivétel keletkezik.
- PROPAGATION_MANDATORY — a módszernek meglévő tranzakcióban kell futnia, különben kivétel keletkezik.
- PROPAGATION_NESTED — ha van tranzakció, akkor egy beágyazott (savepoint) tranzakció jön létre, különben új.
Használati példa:
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void someMethod() {
// kód
}