spring @transactional 线程安全吗?

Nar*_*mar 4 java spring multithreading

@Transactional在我的一个班级上使用过并在多线程环境中使用过它?据我了解,它将在线程本地环境中执行并且是线程安全的。

现在我的用例是从账户中提取金额?如果读取的帐户金额是脏的,是否会出现透支的情况?我不确定像现在这样是否安全,或者我需要同步我的功能。

任何建议都将受到高度评价。

Gan*_*alf 5

您需要设置事务隔离级别以防止来自数据库的脏读,而不是担心线程安全。数据库负责这个问题的“脏读”方面——而不是 Spring 的线程模型。