Uruchamia metodę w transakcji; domyślnie Spring robi rollback na unchecked (`RuntimeException`). Typowa pułapka to self-invocation: wywołanie `@Transactional` z tej samej klasy omija proxy, więc transakcja może się nie uruchomić.
@Service
class PaymentService {
@Transactional
public void pay() {
// DB writes here
}
}