Bir @Transactional
işlem bloğu içinde olmayan bir yöntemi çağırdığınızda , ana işlem yeni yönteme devam edecektir. Ana yöntemle (with @Transactional
) aynı bağlantıyı ve çağrılan yöntemden kaynaklanan herhangi bir istisnayı kullanır (olmadan @Transactional
, işlemin işlem tanımında yapılandırıldığı gibi geri alınmasına neden olmaz.
Aynı örnek içindeki @Transactional
bir yöntemden ek açıklama içeren bir yöntemi çağırırsanız @Transactional
, çağrılan yöntemlerin işlem davranışının işlem üzerinde herhangi bir etkisi olmayacaktır. Ancak, bir işlem tanımına sahip başka bir yöntemden bir işlem tanımına sahip bir yöntemi çağırırsanız ve bunlar farklı örneklerdeyse, çağrılan yöntemdeki kod, çağrılan yöntemde verilen işlem tanımlarını izleyecektir.
Sen bölümünde daha fazla ayrıntı bulabilirsiniz Bildirimsel işlem yönetimi ve yay işlem belgelerinde .
Spring bildirim temelli işlem modeli AOP proxy kullanır. bu nedenle işlemlerin oluşturulmasından AOP vekili sorumludur. AOP proxy'si yalnızca örnekte bulunan yöntemler örneğin dışarıdan çağrılırsa etkin olacaktır.