Встречается на собеседованиях • сегодня

Как обозначить код, чтобы он выполнялся в одной транзакции

В Spring можно использовать аннотацию @Transactional для выполнения метода в одной транзакции. По умолчанию транзакция создается, если её нет, и используется существующая, если она уже активна.

Пример:

java
@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;
text
@Transactional
public void updateUsers(User user1, User user2) {
    userRepository.save(user1);
    userRepository.save(user2);
}

}

text

Ключевые моменты:
1. Аннотация может применяться к классу или методу
2. По умолчанию используется Propagation.REQUIRED
3. При ошибке произойдет откат (rollback) транзакции
4. Можно настроить уровень изоляции, таймаут и другие параметры
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы