강의

멘토링

커뮤니티

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

윤승환님의 프로필 이미지
윤승환

작성한 질문수

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

변경 감지와 병합(merge)

변경감지..

해결된 질문

작성

·

329

2

안녕하세요,

강의 10:50초에 나오는 코드를 참고해서 질문드립니다.

 

우선, PostMapping으로 form객체와 해당 객체의 itemId를 전달받고 업데이트를 수행하면 된다고 판단을 했습니다.

 

강의에서는 업데이트 시킬 새로운 book객체를 선언받고..

그 값을 전달받을 form객체와 데이터를 매핑시켰는데,,

이 과정에서 우선 전달받은 form은 1차캐시에 데이터가 있기에..

매핑된 새로운 book객체는 pesist에서 저장이 안되어 준영속 상태가 되어서 이 문제를 해결하는 법을 알려주시고 있는데,,

---

그냥 인자로 받은 itemID를 이용하여 변경감지를 하면 안되나요.. 인자가 없더라도.. form.getId()값이나..

ex)

new = itemService.findOne(itemId)

new.setId(form.getId()); ....

 

그리고 마지막에 다시.. itemService.saveItem(new)하면..

 

변경감지를 이용한 해결법이 될 것 같은데,, 

 

제가 아직 MVC패턴에 대한 학습이 부족하여..

부족한 부분알려주시면 감사하겠습니다.

 

답변 1

0

안녕하세요. 윤승환님, 공식 서포터즈 y2gcoder입니다.

영한님께서도 병합을 이용한 방법이 실제로는 번거로울 수 있기에 엔티티를 변경하는 것에 대한 가장 좋은 해결 방법으로 변경 감지를 추천드리고 있습니다. 

 

지금 영상의 22분부터 보시면 될 것 같습니다 :)


감사합니다.

윤승환님의 프로필 이미지
윤승환

작성한 질문수

질문하기