jpa 동시성 이슈
927
작성한 질문수 3
안녕하세요. 주옥같은 강의 정말 잘 보고 있습니다.
이 질문에 답변 해주신 내용을 보면 결국 EntityManager는 동시성 이슈 없이 개발할 수 있다라고 해주셨는데, 한가지 궁금한게 있습니다.
만약 A, B 요청이 동시에 들어온 경우 A, B는 동일한 데이터를 가지게 될 것입니다. 이때 A 요청에서 update 후 commit으로 데이터 변경이 발생되고, 이후 B 요청에서 update 후 commit으로 데이터 변경이 발생되면 A 요청의 update는 반영이 안되는 갱신 손실 현상이 발생할 것으로 생각됩니다. 이러한 경우 lock을 이용해서 처리를 한다고 알고 있는데 혹시 이러한 경우에 대해서 3가지의 질문을 좀 드리고 싶습니다.
1. 위 예시로 적은 상황은 질문 글의 답변에서 말씀해주신 내용과는 다른 내용이라고 보는게 맞을까요?
2. 저의 지식으로는 위 예시의 경우는 lock을 이용해서 갱신 손실을 방지하는 것으로 알고 있는데, lock을 사용하는 방법 말고 다른 방법이 존재하는 걸까요?
3. 동시성 이슈 처리에서 thread-safe한 객체(Atomic 등등)와 db lock을 사용하는 방법 외에도 다른 방법이 있을까요?
저의 지식으로는 명쾌한 해답이 나오지 않아 질문 드리게 되었습니다.
미리 답변 감사드립니다!!!
답변 1
0
안녕하세요. hdr님
이 문제는 생각하신 내용과 다른 문제입니다.
추가로 2,3번 질문은 다음 내용을 참고해주세요.
https://www.inflearn.com/questions/17498
https://www.inflearn.com/questions/228082
감사합니다.
리뉴얼 시기
0
36
2
변경감지(더티체킹) 이후 플러시할 경우의 쿼리
0
64
1
단일 테이블 시 null 값과 연관관계 필요성 질문
0
59
1
벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?
0
91
2
inheritance startegy 선택시 고려사항
0
58
1
Entity 동등성 비교
0
62
1
실무 조언 관련 질문입니다.
0
90
1
H2데이터베이스 파일 생성
0
101
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
1
90
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
82
1
JPQL 메소드와 락
0
76
1
Delivery @OneToOne
0
97
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
133
2
UnsupportedOperationException 발생
0
150
3
H2 Database 연결이 안됩니다.
0
125
2
연관관계 매핑 질문드립니다.
0
125
2
h2데이터베이스 실행오류
0
139
2
persistence.xml
0
149
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
116
1
영속성 컨텍스트
0
100
1
JPA 프록시
0
130
1
Native Query와 MyBatis
0
105
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
119
1
임베디드 타입 예시 코드 관련 질문
0
159
3





