현재 예약 시스템은 화면에서 신청에 필요한 AccountId, 멤버십Id, 수업Id를 받아와 예약 히스토리에 해당 값을 insert하는 방식으로 진행한다. 이를 저장하기 위한 객체는 CourseReservation 객체였는데, 처음에는 AccountId만 PK로 지정했다가 수업Id와 AccountId를 같이 중복키로 등록해야 할 필요성이 생겼다. 이를 위해서 CourseReservationId라는 객체를 만들어주고 @Embeddable이라는 애노테이션을 붙여준다. 이렇게 PK만 따로 도메인을 만들어주면, 기존의 CourseReservation객체에서는 이를 주입받아서 사용하기만 하면 된다. @Data @Embeddable @NoArgsConstructor @AllArgsConstructor public ..