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

송민석님의 프로필 이미지
송민석

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

상품 서비스 HTML

상품서비스 updateItem 질문

작성

·

232

0

상품서비스의 updateItem은

id 1번이 있고, id 2번이 있을 때

id 2번의 내용으로 id 1번의 내용을 덮어씌우는데, 이러면 id 2번은 계속 유지되어 있고, 새로 상품을 만들면 id 3번으로 시작되는거 맞죠?

이러면 id 2번이 낭비되는거 같은데 실제 프로젝트에서는 update 해주면 id 2번을 삭제하는 방향으로 하나요?

답변 1

0

안녕하세요, 송민석 님! 공식 서포터즈 codesweaver 입니다.

강의에서는 상품 업데이트 테스트 예시를 위해 2번 상품 정보를 그대로 1번에 업데이트하는 코드로 예를 들었는데요, 실제로는 사용자가 폼으로 작성한 값을 받아서 이 값을 Item에 업데이트 하기 때문에, 1번 상품과 2번 상품에 동일한 정보가 들어가 있는 경우는 적습니다.

만약 정말 동일한 상품을 여러개 만들어서 하나를 제거해야 하는 상황이라면, 데이터베이스에서 실제로 삭제하는 방법이 있고 (이 경우에도 id 값은 계속 1씩 증가하기에 중간 아이디 값이 빠진 상태가 됩니다), 아니면 아이템 도메인에서 이 아이템이 유효한지 여부를 가능하는 상태코드를 관리하는 방법이 있습니다. 가령 isDelete 등의 속성을 추가하여 기본값은 'N'을 사용하되 삭제한 상품은 'Y'로 변경하여 사용여부를 판단하는 방식입니다.

감사합니다.

송민석님의 프로필 이미지
송민석

작성한 질문수

질문하기