เมื่อคุณเรียกใช้เมธอดโดยไม่@Transactional
อยู่ในบล็อกธุรกรรมธุรกรรมหลักจะไปยังเมธอดใหม่ จะใช้การเชื่อมต่อเดียวกันจากเมธอดหลัก (ด้วย@Transactional
) และข้อยกเว้นใด ๆ ที่เกิดขึ้นในเมธอดที่เรียกว่า (โดยไม่@Transactional
ทำให้ธุรกรรมย้อนกลับตามที่กำหนดค่าไว้ในข้อกำหนดธุรกรรม
หากคุณเรียกใช้เมธอดที่มี@Transactional
คำอธิบายประกอบจากวิธีการที่@Transactional
อยู่ในอินสแตนซ์เดียวกันพฤติกรรมการทำธุรกรรมของวิธีการที่เรียกว่าจะไม่มีผลกระทบใด ๆ กับธุรกรรม แต่ถ้าคุณเรียกเมธอดที่มีนิยามธุรกรรมจากวิธีอื่นที่มีนิยามธุรกรรมและอยู่ในอินสแตนซ์ที่แตกต่างกันรหัสในเมธอดที่เรียกจะเป็นไปตามข้อกำหนดธุรกรรมที่กำหนดในเมธอดที่เรียกว่า
คุณสามารถค้นหารายละเอียดเพิ่มเติมในส่วนการ declarative จัดการการทำธุรกรรมของเอกสารการทำธุรกรรมในฤดูใบไม้ผลิ
แบบจำลองการทำธุรกรรมที่เปิดเผยในฤดูใบไม้ผลิใช้พร็อกซี AOP ดังนั้นพร็อกซี AOP จึงเป็นผู้รับผิดชอบในการสร้างธุรกรรม พร็อกซี AOP จะใช้งานได้ก็ต่อเมื่อมีการเรียกเมธอดในอินสแตนซ์จากด้านนอกของอินสแตนซ์