Junior — Middle
83
@Transactional аннотациясының принципін және оның дерекқор транзакцияларын басқарудағы рөлін түсіндіріп беріңіз.
Сұралған компаниялар
Prooftech
Акселератор возможностей
ТОП КЕЙС
Firecode
AI-дан жауап
sobes.tech AI
Аннотация @Transactional в Java (обычно в Spring Framework) используется для управления транзакциями базы данных на уровне методов или классов.
Принцип работы:
- При вызове метода с
@Transactionalсоздаётся новая транзакция или используется существующая. - Все операции с базой данных внутри метода выполняются в рамках этой транзакции.
- Если метод завершается успешно, транзакция коммитится (сохраняет изменения).
- Если возникает исключение (обычно unchecked), транзакция откатывается, и все изменения отменяются.
Это позволяет гарантировать целостность данных и согласованность состояния базы, особенно при выполнении нескольких связанных операций.
Пример:
@Service
public class UserService {
@Transactional
public void createUserAndProfile(User user, Profile profile) {
userRepository.save(user);
profileRepository.save(profile);
// Если здесь возникнет исключение, оба сохранения будут отменены
}
}
Таким образом, @Transactional упрощает управление транзакциями и помогает избежать ошибок, связанных с частичным выполнением операций.