我在服务层中有一个方法,它对数据库执行更新功能。
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void update(final Object obj){
// some code here
}
现在我想知道Spring框架设置的这个方法的隔离级别是什么?
我是Spring的新手,只是想让自己熟悉交易。
请分享一些最佳做法和方法来设置隔离级别以避免死锁,从而防止同一用户尝试从不同浏览器更新其记录。
答案 0 :(得分:12)
根据docs (Isolation.DEFAULT
),它使用
使用基础数据存储的默认隔离级别。
当您使用@Transactional
注释时,我会在那里设置隔离级别,例如:
@Transactional(propagation=Propagation.REQUIRES_NEW, isolation=Isolation.SERIALIZABLE)