Junior — Middle
Alkalmazható-e az @Transactional annotáció privát módszerekhez Java-szolgáltatásokban?
sobes.tech MI
Válasz az MI-től
A @Transactional annotáció Springben proxy-kon keresztül működik, amelyek a bean-ek nyilvános metódusai körül jönnek létre. A proxy-k elfogják a hívásokat és kezelik a tranzakciókat. Ha egy metódus privát, akkor a hívás közvetlenül a osztályon belül történik, megkerülve a proxy-t, és az annotáció nem fog működni.
Ezért értelmetlen a @Transactional alkalmazása privát metódusokra — a tranzakció nem fog megnyílni. Ajánlott nyilvános metódusokat annotálni, amelyek tranzakcionálisak kell legyenek.