인프런 커뮤니티 질문&답변

안녕하세요님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

주문 서비스 개발

JPA관련 count관련 질문드립니다.

21.08.25 23:25 작성

·

238

0

JPA에서는 데이터베이스와 연결되어있는 Entity의 값을 변경하면 db안의 값도 변경 된다고 강의해주셨습니다.

수업을 듣다가 궁금한 점이 생겼는데, 실제 상황에서는 많은 주문이 동시다발적으로 발생합니다.

예를 들어

상품(Item)X는 7개 남아있음

A사람, B사람 - > 상품 X를 동시에 주문// 각각 Item이 생성

A사람에게 할당되어있는 Item의 count ==6

B사람에게 할당되어있는 Item의 count ==6

원래대로면

DB Item의 count는 7-2 =5가 되어야 함

그러나

DB Item의 count는 6이 되어있음

저는 이런 상황이 생길 것이라고 이해하고있는데, 맞는 예측일까요? 맞다면 어떻게 해결할 수 있을까요?

1.저는 static을 사용하여 count변수를 공유하는 방법

2. (방법은 잘 모르지만) 한 사람이 배송을 눌러서 count에 변화를 주는 동안(DB에 접근하는 동안), 다른 사람들의 배송로직을 지연시키는 방법

이렇게 두가지가 떠오릅니다. 두가지 다 맞는 방법일까요?

답변 2

0

안녕하세요님의 프로필 이미지

2021. 08. 30. 16:55

답변해주신 내용을 보니 우선 러프하게 이해를 하되, 제 실력이 조금 더 성장한 뒤에 다시 한번 봐야겠다는 생각이 드네요. 답변 감사드립니다. 열심히 배우겠습니다. 

0

김영한님의 프로필 이미지
김영한
지식공유자

2021. 08. 26. 22:01

안녕하세요. 안녕하세요님^^

다음을 참고해주세요.

https://www.inflearn.com/questions/17498

https://www.inflearn.com/questions/228082

감사합니다.