A와 B가 동시에 현재 값이 1인 count 조회
count를 + 1해도 flush 시점에서 날리는 쿼리가 set count = count + 1이 아니라 set count = 2로 동작
각자 트랜잭션 내 영속 상태의 엔티티에 한해서 더티 체킹 해버리니까 update 쿼리가 락을 걸어도 원자적으로 증가하는게 아니라 값을 명시해버리니
동시성 제어가 안되는건가
비관적 락은 조회 시점에 락을 걸어버리니까 동시 요청을 해도 같은 값을 조회하지 않을 거고
@Query로 +1하는 메서드 만들면 동시성 제어 되는거 같으니 update 쿼리 자체에 락이 걸리는 건 맞는거 같은데
Update 쿼리는 그 자체가 원자적이라 +1쿼리는 스레드 세이프한거 더티체킹을 이용한 update가 동시성 문제에서 안전하려면 직접 락 설정해줘야댐