강의

멘토링

로드맵

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

비비비비빅님의 프로필 이미지
비비비비빅

작성한 질문수

제미니의 개발실무 - 커머스 백엔드 기본편

요구사항 느끼기

Entity에 대해 질문이 있습니다.

작성

·

41

·

수정됨

1

먼저 재미있게 강의 잘보고 있습니다. 감사합니다.

프로젝트에서 storage 모듈을 보다가 모든 entity가 status를 갖는다는 것을 알게되었습니다.

class xxEntity():BaseEntity()
// base entity가 status를 갖고 있고
// 위의 코드는 상속이라고 알고있습니다(AI로 확인해봤는데 만약 아니라면 민망할것같네요...)

모든 entity가 상태가 필요한가? 하는 생각이 들어서요. 아니면 status를 기본으로 설정하면서 어떤 장점을 의도하려고 하신건지 궁금합니다.

답변 1

0

제미니님의 프로필 이미지
제미니
지식공유자

비비비비빅님 강의 재밌게 봐주시고 질문 주셔서 감사합니다!

AI로 분석에 적극 쓰시다니 아주 좋은 모습입니다! (코드 형태는 설명주신게 맞습니다)

기본값으로 넣은 이유는 대부분 서비스 운영시 예기치 못하게 데이터의 상태를 처리해야 할 경우가 있습니다,

서비스 운영 및 데이터 추적을 위해 일반적으로 Hard Delete(Delete 쿼리)가 불가능하기 때문에 대부분 데이터는 status 기반으로 삭제 플래그 처리(Soft Delete)를 하는 편입니다!

그래서 제 경우는 엄청 유의미하게 쓰이지 않더라도 상태에 대한 것을 특별한 사유가 있지 않는 테이블을 제외하고는 모두 추가해두는 편입니다!

또한 더 장기적인 관점에선 추후 데이터 마이그레이션이나 운영 이슈 처리 시에도 이 상태 컬럼들을 유용하게 쓰일 수 있습니다 (지금 적당한 예제가 생각이 안나네요ㅎㅎ;)

다만! 누가봐도 정말 상태가 필요 없는 테이블이라면 BaseEntity 를 안 쓰고 id나 시간 정보를직접 구성하던가, 그런 Entity 가 많다면 NoneStatusEntity 같은 클래스를 만들어서 사용하기도 합니다 :)


모쪼록 답변이 도움 되셨길 바라며 완강까지 잘 부탁드리고 수강평도 부탁드립니다!

추가 질문은 편하게 주시길 바랍니다! 감사합니다!

비비비비빅님의 프로필 이미지
비비비비빅

작성한 질문수

질문하기