Khi bạn gọi một phương thức không có @Transactional
trong một khối giao dịch, giao dịch mẹ sẽ tiếp tục đến phương thức mới. Nó sẽ sử dụng cùng một kết nối từ phương thức mẹ (với @Transactional
) và bất kỳ ngoại lệ nào gây ra trong phương thức được gọi (không có @Transactional
sẽ khiến giao dịch quay ngược trở lại như được định cấu hình trong định nghĩa giao dịch.
Nếu bạn gọi một phương thức có @Transactional
chú thích từ một phương thức @Transactional
trong cùng một trường hợp, thì hành vi giao dịch của các phương thức được gọi sẽ không có bất kỳ tác động nào đến giao dịch. Nhưng nếu bạn gọi một phương thức có định nghĩa giao dịch từ một phương thức khác có định nghĩa giao dịch và chúng ở các trường hợp khác nhau, thì mã trong phương thức được gọi sẽ tuân theo các định nghĩa giao dịch được đưa ra trong phương thức được gọi.
Bạn có thể tìm thêm chi tiết trong phần Quản lý giao dịch khai báo của tài liệu giao dịch mùa xuân .
Mô hình giao dịch khai báo mùa xuân sử dụng proxy AOP. vì vậy proxy AOP chịu trách nhiệm tạo các giao dịch. Proxy AOP sẽ chỉ hoạt động nếu các phương thức trong phiên bản được gọi từ bên ngoài phiên bản.