Java (Spring Boot) Kurumsal Özel Banka Java Backend Specialist
24 October 2026, 11:22

Spring Boot'ta @Transactional aynı sınıf içindeki metottan çağrılırsa neden çalışmaz?

Mülakatçının Sorduğu Soru & Senaryo

Mülakatçı: "methodA() içinde this.methodB() çağırıyorsun. methodB üzerinde @Transactional var. Transaction açılır mı açılmaz mı?" diye sordu.

Adayın Deneyimi & Verdiği Cevap

Açılmaz dedim çünkü Spring CGLIB/Dynamic Proxy kullanıyor, doğrudan "this" dersen proxy devre dışı kalıp doğrudan hedef metoda gidiyor dedim. Çözüm olarak metodu başka bir Service sınıfına taşımayı veya Self-injection yapmayı önerdim.

Paylaşan: Mert A.
Topluluk Yanıtları (1)
A
Alperen K.
1 hour ago

Bankacılık mülakatlarının değişmez sorusudur bu. Proxy mekanizmasını derinlemesine bilmek çok önemli.