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

마이티님의 프로필 이미지

작성한 질문수

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

변경 감지와 병합(merge)

통신해서 받는 것과 만들어서 사용하는 것

작성

·

51

1

안녕하세요.

변경감지 기능을 사용하기 위해서 데이터 베이스 통신해서 데이터를 가져와서 쓰는 것과 기존에 set으로 BookForm 객체 만드는 것에 대해서 여쭤보고 싶은게 있습니다.

데이터베이스 통신이 한 번 더 일어나는데 위험성이 증가하거나 하진 않나요..? 옛날에 사수한테 웬만하면 데이터베이스 통신하는 일을 줄이라고 했던 일이 기억나서 여쭤봅니다

답변 2

1

안녕하세요. 마이티님, 공식 서포터즈 코즈위버입니다.

데이터베이스 내용을 수정할 때 기존 방식은 UPDATE 한 번만 통신 하면 되는데, JPA 에서는 SELECT 이후 UPDATE 하여 두 번 통신이 발생하는 부분에 대한 비효율을 질문하신것 같습니다.

 

말씀하신것처럼 어플리케이션과 데이터베이스 간의 통신은 큰 비용이 발생하기에 최소화 하는것이 가장 좋습니다. 그러나 JPA를 사용하는 입장은 JPA를 도입하여 얻는 이점이 쿼리 횟수를 줄이는 것보다 크다고 여기는 것입니다. 그리고 JPA에서 데이터베이스를 조회, 업데이트 할 경우에는 반드시 키를 이용하도록 제한하므로 최적화 면에서 아주 크게 나빠지지는 않습니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

마이티님의 질문은 JPA를 사용하면서 변경 감지 기능의 이해와 관련해, 데이터베이스로부터 데이터를 가져오는 것과 객체를 직접 생성하는 것 사이의 차이, 특히 데이터베이스와의 통신을 최소화하는 관점에서의 고려사항에 대한 조언을 구하는 것으로 이해됩니다.

이와 관련하여, 데이터베이스 통신 효율성과 변경 감지 기능을 어떻게 효과적으로 사용할 수 있는지에 대한 명확한 가이드라인을 제공하는 기존 답변을 찾았습니다.

관련 자료:

  1. 변경감지 관련 질문드립니다.

    • 이 질문에서는 JPA를 사용하면서 변경 감지 기능을 어떻게 활용하는 것이 효율적인지에 대한 답변이 제공되었습니다. 김영한 강사님은 변경 감지를 활용하는 것을 권장하시며, 이를 통해 데이터베이스와의 통신을 최소화하면서도 효과적인 데이터 관리를 할 수 있다는 점을 강조하셨습니다.
  2. 변경감지를 통한 데이터 변경에 대해서

    • 이 질문에서는 변경 감지를 통한 업데이트의 범위와 효율적인 사용 방법에 대해 논의됩니다. 변경 감지 기능을 이해하고 효율적으로 사용하는 방법을 배우기에 좋은 자료입니다.

이러한 답변들을 참고하시면, 데이터베이스 통신을 최소화하는 동시에 변경 감지 기능을 효과적으로 활용하는 방법에 대한 좀 더 깊은 이해를 얻을 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.