Junior — Middle
Kako ste koristili anotaciju @Transactional u Springu i kakvo iskustvo imate s njom?
sobes.tech АИ
Одговор од АИ
Аннотация @Transactional в Spring используется для управления транзакциями на уровне методов или классов. Я применял её, чтобы обеспечить атомарность операций с базой данных — например, при сохранении нескольких связанных сущностей. Если в методе с @Transactional происходит исключение, все изменения откатываются, что предотвращает частичное обновление данных.
Пример использования:
@Service
public class UserService {
@Transactional
public void createUserAndProfile(User user, Profile profile) {
userRepository.save(user);
profileRepository.save(profile);
// Если здесь возникнет исключение, обе операции откатятся
}
}
Также важно учитывать, что @Transactional работает корректно только при вызове методов через прокси Spring, то есть вызов метода должен идти извне класса.