Junior — Middle
How have you used the @Transactional annotation in Spring and what was your experience with it?
sobes.tech AI
Answer from AI
The @Transactional annotation in Spring is used for managing transactions at the method or class level. I used it to ensure the atomicity of database operations — for example, when saving multiple related entities. If an exception occurs within a method annotated with @Transactional, all changes are rolled back, preventing partial data updates.
Example of usage:
@Service
public class UserService {
@Transactional
public void createUserAndProfile(User user, Profile profile) {
userRepository.save(user);
profileRepository.save(profile);
// If an exception occurs here, both operations will be rolled back
}
}
It is also important to note that @Transactional works correctly only when methods are called through Spring proxies, meaning the method call must come from outside the class.