SpringFramework の @Transactional は癖が強い2025年02月13日 13時47分30秒

Java でデータベースで扱う場合の選択肢として、SpringFramework と Hibernate がある。Hibernate がデータベースのクエリを扱い、SpringFramework がトランズアクションを処理している様だ。@Transactional のアノーテーションが付けられている関数を呼ぶ時に SpringFramework によってトランズアクションが開始される。

このトランズアクションの開始の条件がややこしい。SpringFramework の AOP の実装の制限により、制限がかかっている。@Transactionalの付いている関数を他のクラスから直接呼び出さないと始まらない。

@Transactional method called from another method doesn't obtain a transaction に例と共に説明されている。。