Проверяет понимание механизма транзакций в Spring и их управления через аннотации.
@Transactional автоматически управляет транзакциями в Spring. При вызове метода с этой аннотацией Spring открывает транзакцию, а после выполнения — коммитит или откатывает её при ошибке. Работает через AOP (аспектно-ориентированное программирование).
1. Основные параметры:
propagation: Определяет поведение транзакции (например, REQUIRED — использовать текущую или создать новую).
isolation: Уровень изоляции (например, READ_COMMITTED).
rollbackFor: Указывает, при каких исключениях откатывать транзакцию.
2. Пример использования:
@Service
public class UserService {
@Transactional
public void createUser(User user) {
userRepository.save(user);
// При ошибке здесь транзакция откатится
}
}Вывод:@Transactional упрощает управление транзакциями, но требует осторожности с настройками (например, propagation).