Junior — Middle
Magyarázza el a @Transactional annotáció célját és működési elvét a Spring Framework keretében.
sobes.tech MI
Válasz az MI-től
Аннотация @Transactional в Spring Framework используется для управления транзакциями на уровне методов или классов. Она позволяет автоматически начать, зафиксировать (commit) или откатить (rollback) транзакцию при выполнении бизнес-логики.
Принцип работы:
- При вызове метода с
@TransactionalSpring открывает новую транзакцию или присоединяется к существующей. - Если метод выполняется успешно, транзакция фиксируется.
- Если возникает исключение (по умолчанию — unchecked), транзакция откатывается.
Это позволяет разработчикам не писать вручную код для управления транзакциями, обеспечивая атомарность операций с базой данных.
Пример:
@Service
public class UserService {
@Transactional
public void createUser(User user) {
userRepository.save(user);
// другие операции, которые должны быть в одной транзакции
}
}