2 years ago

#61365

test-img

NJS

REPEATABLE READ isolation level at update method is meaningful?

The Repeatable Read isolation level only sees data committed before the transaction began. So, I think it is only meaningful at Method doing repeat select. But, I see a below code.

@Transactional(isolation = Isolation.REPEATABLE_READ)
@Override
public void buyItem(Credit playerCredit, Long haveToPayCredit) {
    if(haveToPayCredit > playerCredit.getFreeCredit()) {
        Long remainHaveToPay = haveToPayCredit - playerCredit.getFreeCredit();
        playerCredit.updateCredit(playerCredit.getPaidCredit() - remainHaveToPay, 0L);
    }
    else {
        playerCredit.updateCredit(playerCredit.getPaidCredit(), playerCredit.getFreeCredit() - haveToPayCredit);
    }
}

This method do only update. So, It look so meaningless to add Transactional annotation. The REPEATABLE READ isolation level at update method is meaningful?

spring

spring-transactions

0 Answers

Your Answer

Accepted video resources