В Spring Data JPA, когда я использую @NamedQueries
с lockMode = LockModeType.WRITE
, я вижу результаты в журналах (при условии jpa.show-sql
равно true
):
... SELECT ... FOR UPDATE
Однако, когда я использую аннотацию @Lock(LockModeType.WRITE)
для метода, я ничего не вижу в журналах. Я хочу убедиться, что механизм блокировки работает как положено.
Как я могу увидеть, что @Lock(LockModeType.WRITE)
работает? Какой уровень журнала должен быть включен?
РЕДАКТИРОВАТЬ: Вот выдержка из моего кода:
@Service
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
@Lock(LockModeType.PESSIMISTIC_WRITE)
@Transactional
public User checkCredentials(String email, String password, String verificationCode)
throws BadCredentialsException {
User user = userRepository.findByEmail(email);
if(user == null)
throw new BadCredentialsException("Invalid username");
...
user.setLastVerificationCode(verificationCode);
userRepository.save(user);
return user;
}
}