강의

멘토링

커뮤니티

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

작성자 없음

작성자 정보가 삭제된 글입니다.

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

예제 수준을 넘어선다면 어떻게 해야할까요?

작성

·

374

0

안녕하세요 팀장님! mvc 강의 열렬히 기다리면서 복습하고 있습니다.

예제에서는 회원 엔티티의 pk를  자동 생성되는 id를 사용하시는데요,

일반적인 포털 사이트 로그인과 같이 id와 pw를 회원이 직접 입력해서 사용하는 경우에는

artificial key 를 pk로 두고, unique 제약 조건으로 로그인 id를 만드는게 좋을까요?

아니면 로그인 id자체를 pk로 만드는 것이 좋을까요?

pk는 비지니스 로직과 상관이 없는 유일한 값이어야 하고, generated value가 이 제약조건에 정확히 부합하지만,

 회원 id자체가 비지니스 로직과는 별로 연관이 없어 보이기도 하고 unique제약조건또한 만족하니 어떻게 엔티티를 만들어야 할지 고민입니다.

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. kkkh0712님^^

열렬히 복습하는게 여기까지 느껴집니다. ㅎㅎㅎ

대부분의 사이트들이 고객 id를 PK로 잡지는 않습니다!

왜냐하면 놀랍게도 고객 id는 PK에 부합하지 않습니다.

유일한 값 뿐만 아니라 더 중요한게 있는데요. 바로 미래에도 변하지 않아야 한다는 것입니다.

고객 id가 변하지 않을 것 같지만, 만약에 바꾸어야 한다면? 어떻게 될까요?

우리가 아는 주민등록변호도 실제로 변합니다.

도움이 되셨길 바래요.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기