service layerに、データベースの更新機能を実行するメソッドがあります。
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void update(final Object obj){
// some code here
}
ここで、Springフレームワークによって設定されたこのメソッドの分離レベルを知りたいですか?
私はSpringの初心者ですが、transactionsに慣れたいと思っていました。
デッドロックを回避し、同じユーザーが異なるブラウザからレコードを更新しようとするのを防ぐために、いくつかのベストプラクティスと設定方法を共有してください分離レベル。
docs(Isolation.DEFAULT
) によると、
基盤となるデータストアのデフォルトの分離レベルを使用します。
@Transactional
アノテーションを使用しているので、そこで分離レベルを設定します。例:
@Transactional(propagation=Propagation.REQUIRES_NEW, isolation=Isolation.SERIALIZABLE)