본문 바로가기

연관관계 매핑2

JPA와 테이블 설계 이번에는 스터디 프로젝트를 만들 때 JPA로 도메인 모델을 어떻게 구성하고 객체와 테이블을 어떻게 매핑했는지 정리하려고 한다. 모든 코드는 Github에 있으니 참고해주세요. 먼저 요구사항을 분석하고 도메인 모델과 테이블을 정리해보자. 요구사항 분석 핵심 요구사항은 다음과 같다. 회원은 스터디방을 개설할수 있다. 스터디방 개설할 때 여러가지 태그를 선택할 수 있다.User 사용자의 구분은 "미인증 사용자", "회원가입된 사용자", "관리자"로 나뉜다. UNAUTH(미인증), AUTH(인증), ADMIN(관리자)로 3가지 존재한다. 미인증 회원은 회원가입을 통해 로그인하여 AUTH로 변경할 수 있다. 회원가입할 때, 원하는 스터디 태그를 선택할 수 있다. 관리자는 BAN(정지) 권한으로 회원 관리를 할 수.. 2024. 3. 22.
관계형 데이터베이스에서의 컬렉션 처리 : Room 엔티티의 구조 개선 이번 시간엔 프로젝트를 진행하면서 만난 RDB에서의 컬렉션 이슈를 정리해볼 예정이다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같아요. 목차 목차는 다음과 같다. Room에 대한 요구사항 : 여러 개의 태그를 가진다. 스터디방 태그 관리: RDB와 컬렉션 구조의 한계 RDB에는 내부적으로 컬렉션을 담을 수 있는 구조가 없다. RDB에서 컬렉션 타입의 처리: Entity로 정의하여 일대다(1:N) 관계를 정의한다. Room에 대한 연관관계 매핑정의 회고 Room에 대한 요구사항 : 여러 개의 태그를 가진다. 프로젝트 개발하기 이전에 Room에 대한 요구사항을 세웠었는데, 그 중 하나다. Room(스터디방)에 여러 개의 방 태그를 붙일 수 있다. 요구사항을 분석해서 만든 스.. 2024. 3. 18.