Junior — Middle
96
U kojim slučajevima i na koji način se preporučuje primena anotacije @Transactional u Springu za upravljanje transakcijama?
Компаније где су питане
ФСК
Одговор од АИ
sobes.tech АИ
Аннотация @Transactional в Spring используется для управления транзакциями на уровне методов или классов. Она гарантирует, что операции с базой данных внутри метода выполняются в рамках одной транзакции.
Рекомендуется применять @Transactional в случаях, когда метод выполняет несколько связанных операций с БД, которые должны быть атомарными — либо все успешно, либо все откатываются при ошибке.
Пример использования:
@Service
public class UserService {
@Transactional
public void createUserAndProfile(User user, Profile profile) {
userRepository.save(user);
profileRepository.save(profile);
// Если здесь возникнет исключение, обе операции откатятся
}
}
Важно:
- Аннотация должна применяться к публичным методам.
- Транзакции работают корректно при вызове методов через Spring-прокси.
- Можно настраивать параметры, например, уровень изоляции, поведение при исключениях.