Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 비전공자sqld
- java 자료구조 활용
- 격파르타비전공자
- java list 저장
- java알고리즘문제풀이
- java map 출력
- java알고리즘
- 격파르타합격후기
- 코딩부트캠프후기
- java map 저장
- sqld자격증합격
- 컴파일
- 격파르타장점
- 격파르타후기
- 작은수제거하기
- java map
- 항해99후기
- javaJRE
- 노베이스부트캠프
- java기본자료형
- java set 저장
- java list 출력
- java참조자료형
- 항해15기
- 인터프린터언어
- java최솟값구하기
- javaJVM
- 프로그래머스
- java set 출력
- 프로그래머스제일작은수
Archives
- Today
- Total
코딩과 결혼합니다
[영화 예매 웹사이트] Spring Boot / Entity 생성과 연관 관계 설정 본문
728x90
User - Profile (종속 관계)
@Entity
public class User {
@Id
private String userId;
private String password;
private Date birthDate;
private Tier membershipTier;
@OneToOne(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
Profile profile;
}
@Entity
public class Profile {
@Id
private String userId;
@MapsId
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id")
User user;
private String name;
private Integer accumulatedAmount;
private Tier membershipTier;
private Tier nextMonthTier;
}
양방향 관계 설정
- Profile 엔티티와 User 엔티티는 같은 'userId'를 사용한다.
- @MapsId를 통해 Profile의 ID가 User의 ID와 매핑된다.
- casscadeType.ALL 추가 : User의 엔티티 변경이 Profile 엔티티에도 전파되도록 설정한다.
- 양쪽에 지연로딩을 걸어주어 필요할 때에만 로드되게 하여 성능적으로 최적화한다.
- 이 둘은 강하게 연결되어 있기 때문에 User가 없는 상황에서 Profile이 단독으로 생성될 수 없다.
성능적으로 효율
- ID를 동일하게 설정으로 프로필 조회 시 추가적인 조인 없이 User의 ID를 사용할 수 있어 DB 접근 성능 향상
- 두 엔티티가 일대일 관계를 유지하면서도 데이터 일관성을 보장
🤔단방향 @ManyToOne에서 LAZY를 걸어줘야 하나?
** SQL 구문 오류 - row 예약어 사용
Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'row varchar(255),
필드로 row를 쓰려 했는데 예약어 사용으로 구문 오류가 일어났다.
➡️ row_num으로 변경
'코딩과 매일매일♥ > 영화예매' 카테고리의 다른 글
[영화 예매 웹사이트] Spring boot 패키지 구조 (0) | 2024.06.12 |
---|---|
[영화 예매 웹사이트] Figma로 웹페이지 구상하기 (0) | 2024.06.11 |
[영화 예매 웹사이트] API 문서 작성 (0) | 2024.06.09 |
[영화 예매 웹사이트] 시스템 아키텍처 설계 (1) | 2024.06.08 |
[영화 예매 웹사이트] Jira 사용법 숙지 + 적용 (0) | 2024.06.08 |