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.
Bankacılık mülakatlarının değişmez sorusudur bu. Proxy mekanizmasını derinlemesine bilmek çok önemli.