Spring framework Transactional annotation を使いこなせずはまった

下の記事に救われた、ありがたや

ti-tomo-knowledge.hatenablog.com

下のケースをやってしまっていた

更新処理をするメソッドが直接呼ばれているか

これはクラス全体ではなくメソッドにアノテーションを付与した場合に関係することですが、コントローラなどから別メソッドを呼び出して更新処理をする場合、@AutowiredでDIしたクラスのメソッドを直接呼び出す形でないとトランザクションは効きません。

アノテーションつけてりゃ、どんな呼び出し方でも、その範囲でトランザクションが効いてくれると思うじゃん。
そりゃないよー