Junior — Middle
What is the role of the Transactional annotation in working with Spring Data to ensure transaction management?
sobes.tech AI
Answer from AI
The @Transactional annotation in Spring Data is used for managing transactions at the method or class level. It ensures that all operations within the annotated method are executed within a single transaction.
Main functions of @Transactional:
- Start of transaction: a transaction is automatically opened when entering the method.
- Commit: if the method completes successfully, changes are committed to the database.
- Rollback: if an exception occurs, the transaction is rolled back, preventing partial changes.
Example of usage:
@Service
public class UserService {
@Transactional
public void createUser(User user) {
userRepository.save(user);
// other operations that should be atomic
}
}
Thus, @Transactional simplifies transaction management, ensuring data integrity and easing error handling.