기존에 만들었던 address 테이블은 문제가 있어 삭제해야 했는데,
Caused by: java.sql.SQLException: Cannot drop table 'member' referenced by a foreign key constraint '...' on table 'address'.
라는 오류가 발생하였다.
address
가 member
의 기본키를 외래키로 참고하고 있어 삭제가 되지 않는 문제였다.
ALTER TABLE address DROP FOREIGN KEY FKcnw0s8hudme00qu71e3mqd5ih; DROP TABLE address;
를 통해 외래키 참조를 제거하고 address테이블을 삭제 하였다.
새롭게 구성한 엔티티는 다음과 같다.
Member
닉네임(nickname)
프로필 이미지(profile_img)
Zone
행정구역 코드(cig_cd)
행정구역 이름(cig_name)
MemberZone
회원(member)
주소(zone)
이때, Member와 Zone은 다대다 관계이기 때문에 중간에 MemberZone이라는 연결 엔티티가 필요하다. 그래서 Member와 Zone은 MemberZone을 통해서만 주고받을 수 있게 생성 하였다.