묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! Querydsl
JPA, Querdsl 환경에서 팬텀리드는 어떻게 방지하나요?
안녕하세요. 초보개발자 명아주입니다. 새해복많이 받으세요! 이번에 QueryDSL 를 이용한 페이징 기능을 공부하면서 느꼈던 의문점이 있습니다. 일반적인 경우 쿼리가 2번 나가게 되는데, 그 사이에 팬텀리드가 발생한다면 어떻게 막을수 있을지 입니다. 어디서 언뜻 보기로, JPA 가 어플리케이션 레벨에서 Repeatable Read를 보장해준다고 봤었던것 같습니다. 물론 Repeatable Read더라도 phantom Read가 발생하는 걸로 알고 있지만요. 그래서 실무에서 이런 phantom read가 발생하는 걸 겪으신 경험이나 어떻게 해결하셨었는지 궁금합니다! 감사합니다!
-
미해결20번 넘게 면접 본 네카라쿠배 개발자의 이직 기술면접 기출 강의
안녕하세요! 질문이 있습니다.
안녕하세요! 강의를 듣다가 궁금한 사항이 생겨 질문 드립니다. 해당 강의의 약 6분50초 경에 다루는 이야기인데요. 먼저 맨처음 팬텀리드에 대해 설명해주셨을때, 트랜잭션1에서 DB로 유저를 조회할 때는 유저가 조회가 안된다고 말씀해주셨는데. 이후, 트랜잭션1에서 유저를 업데이트 한 이후에는 유저가 조회된다고 말씀해주셨습니다. 그렇다면, 트랜잭션1에서 원래 업데이트 되지 않던 유저가 이후에 없던 유저를 업데이트 한 이후 다시 조회해보니 조회가 된다라고 이해하면 되는 건가요? 다시말해, 업데이트를 했기 때문에 조회를 할 수 있게됐다?? 라고 이해하면 되는 건가요? 뭔가, 해당 내용을 이해하려면 준비하신 슬라이드에서 트랜잭션2에서 유저를 insert하는 장표와 트랜잭션1에서 유저를 조회하는 장표의 순서를 바꿔야 더 상황에 맞을거 같다는 생각이 들어서요.