Fridge 프로젝트의 Fridge, Food Entity 클래스의 @CreatedDate, @LastModifedDate 컬럼이 중복되어 나타나므로 상위클래스로 옮긴다. 상위 클래스는 BaseEntity 클래스로 선언하고 두개의 멤버 변수를 선언한다. Fridge, Food 클래스는 BaseEntity 를 상속받는다. @Getter @MappedSuperclass @EntityListeners(AuditingEntityListener.class) public class BaseEntity { private @CreatedDate LocalDateTime createdDate; private @LastModifiedDate LocalDateTime lastModifiedDate; } Food 클래스는 다음과 같이 클래스 애너테이션이 선언된다. @NoArgsConstructor @Getter @Setter @ToString @Entity public class Food extends BaseEntity { ... } lombok @Getter, @Setter, @ToString 애너테이션을 선언하고 LocalDateTime createDate, LocalDateTime lastModifiedDate 필드는 제거한다. Fridge 클래스도 동일하게 수정한다. UI 서버에서 로그인을 한 뒤에, 비밀번호 변경과 회원탈퇴 기능은 제공되지만, 비밀번호를 잊어버렸을 경우 로그인을 할 수 없는 문제가 있다. 따라서, 비밀번호 찾기 기능을 제공한다. 비밀번호 찾기 기능은 가입시 입력한 이메일을 입력하면 해당 이메일로 인증코드가 발송되고, 해당 메일에서 인증코드 링크를 클릭하면 비밀번호를 변경할 수 있는 페이지를 제공한다. 인증코드는 Member 서비스에서 관리하는게 적합한데, 개별 회원정보가 Member 서비스에서 관리되기 때문이다. Member 프로젝트의 스키마를 수정한다. CREATE TABLE member ( id BIGIN