Как создать @Trasactional на метод Private в Spring Proxy - PullRequest
0 голосов
/ 17 октября 2019

Вот фрагмент кода.

public class A{

  public void m1(){
    //Do some stuff
    m2();
  }

 @Transactional
 private m2(){
   // Some DB operations
 }
}

В приведенном выше коде @ Transactional не работает.

Можно ли создать @ Transactional только вприватный метод (не публичный)?

Может кто-нибудь помочь, пожалуйста.

1 Ответ

0 голосов
/ 17 октября 2019

Нет смысла хранить @Transactional для закрытого метода, потому что этот метод в конечном счете вызывается внутри самого класса. Поэтому прокси никогда не будет применяться к этому методу.

При использовании прокси вы должны применять аннотацию @Transactional только к методам с общедоступной видимостью. Если вы аннотируете защищенные, частные или видимые в пакете методы с помощью аннотации @Transactional, ошибка не возникает, но аннотированный метод не отображает настроенные параметры транзакции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...