Veuillez voir cette doc :
En mode proxy (qui est la valeur par défaut), seulement à l'extérieur des appels de méthode à venir à travers le proxy d'interception. Cela signifie que l'auto-invocation, en effet, une méthode de l'objet cible de l'appel d'une autre méthode de l'objet cible, ne conduira pas à une transaction au moment de l'exécution, même si la méthode invoquée est marqué avec @Transactionnelle.
Envisager l'utilisation d'AspectJ mode (voir l'attribut de mode dans le tableau ci-dessous) si vous vous attendez à de l'auto-invocations à être enveloppé avec des transactions que bien. Dans ce cas, il n'y aura pas un proxy en premier lieu; au lieu de cela, la classe cible sera tissé (qui est, de sa byte code sera modifié) dans le but de transformer @Transactionnelle dans le comportement d'exécution sur n'importe quel type de méthode.
----------------------------plus
donc, autre façon est d'utilisateur BeanSelfAware