비즈니스 로직은 변한다. 기본 키를 비즈니스 로직과 연관된 자연 키로 설정하면 영향을 받는다.
반면에 자연 키는 비즈니스 로직과는 아무 상관이 없다. 즉, 비즈니스가 확장되어도 변경할 이유가 없다.
또한, JPA는 GeneratedValue
를 통해서 간편하게 대리 키를 관리할 수 있다. 이걸 버린다고?!?!?!?
선택적 비식별 관계는 외래 키 값에 null
을 허용한다. 따라서, 조인이 이루어질 때, 매번 외부조인을 사용해야 한다.
하지만, 필수적 비식별 관계는 외래 키 값에 not null
을 보장한다. 따라서 내부 조인만으로 조인이 가능하다.
따라서, 필수적 비식별 관계를 선호한다.
`