TIL
TIL_20221102
번잔중
2022. 11. 2. 23:40
오늘 할 일
🎊 코드 스테이츠 50일차
[Spring MVC] JPA 기반 데이터 액세스 계층
- Daily Coding
- 연관 관계 매핑
- 연관 관계 매핑 실습
다른거
- 1일 1커밋
- 복습
오늘 배운 것
👻 [Spring MVC] JPA 기반 데이터 액세스 계층
JPA 엔티티(Entity) 매핑과 연관 관계 매핑
엔티티 간의 연관 관계 매핑
- JPA는 엔티티 간에 일대다, 다대일, 다대다, 일대일 연관 관계 매핑을 지원한다.
- 일대다 관계는 외래키를 가지고 있어야 할 엔티티에 외래키 역할을 하는 객체 참조가 없기때문에 가급적 사용하지 않는 것이 좋다.
- 한쪽 클래스만 다른 쪽 클래스의 참조 정보를 가지고 있는 관계를 단방향 연관 관계라고 한다.
- 양쪽 클래스가 서로의 참조 정보를 가지고 있는 관계를 양방향 연관 관계라고 한다.
- 일대다의 관계란 일(1)에 해당하는 클래스가 다(N)에 해당하는 객체를 참조할 수 있는 관계를 의미한다.
- 다대일의 관계란 다(N)에 해당하는 클래스가 일(1)에 해당하는 객체를 참조할 수 있는 관계를 의미한다.
- 다대일 단방향 매핑은 테이블 간의 관계처럼 자연스러운 매핑 방식이기 때문에 JPA의 엔티티 연관 관계 중에서 가장 기본으로 사용되는 매핑 방식이다.
- 다대일 매핑(@ManyToOne)은 다대일에서 ‘다’에 해당하는 엔티티에서 사용한다.
- @JoinColumn 애너테이션은 다대일 매핑(@ManyToOne)에 사용한다.
- @JoinColumn 애너테이션의 name 애트리뷰트 값에는 테이블 조인시 사용되는 외래키가 저장되는 컬럼명을 지정한다.
- 일대다(@OneToMany) 양방향 매핑은 다대일에서 ‘일’에 해당하는 엔티티에서 사용한다.
- @OneToMany 의 mappedBy 애트리뷰트의 값으로 외래키 역할을 하는 객체의 필드이름을 지정한다.
- 다대다 연관 관계 매핑은 두 개의 다대일 단방향 매핑을 적용하고, 필요한 경우 양방향 매핑을 적용한다.
- 일대일 연관 관계 매핑 방식은 @OneToOne 애너테이션을 사용한다는 것 외에 @ManyToOne 단방향 방식, 양방향 방식과 동일하다.
다른거
- 1일 1커밋
프로그래머스에서 Lv.0 잘라서 배열로 저장하기 문제를 풀었습니다. answer 배열의 크기를 만들어줄 때, my_str의 길이에 n을 하나 더한 후 빼주면 길이와는 상관 없이 문자열을 잘라서 넣을 수 있는 최대 크기를 만들 수 있습니다.
Programmers 잘라서 배열로 저장하기
GitHub - chaning49/algorithm: 코딩테스트를 위한 알고리즘 공부
코딩테스트를 위한 알고리즘 공부. Contribute to chaning49/algorithm development by creating an account on GitHub.
github.com
- 복습
복습을 간단하게 했는데, 내일 이어서 더 봐야할 것 같습니다. 집에 있으면 집중도가 떨어져서 자꾸 읽은 부분을 다시 보게 됩니다.
느낀점
- 오늘 수업은 머리로 이해한 내용을 구현하는 것이나 마찬가지였는데, 실습에서 그래도 꽤나 비스무리하게 만들어서 조금씩 구조를 생각하면서 코드를 작성해보면 되겠구나 싶었다.
- 1일 1커밋을 진행해오면서 처음으로 커밋을 빼먹었다. 밥 먹고 피곤해서 잠들었는데, 내가 감당할 수 없을만큼 많이 자버렸다. 주말에도 어디 놀러나가는 일도 이제는 없애야하는 시간이 온 것 같다. 학습할 내용은 점점 더 많아지고 있어서 노는 시간을 줄여야 겨우 따라잡을 것 같다.
- 운동한 팔이 아직 통증이 있다. 내일은 아침에 하체 운동을 할지 유산소 운동을 할지 고민인데, 아마 하체를 하지 않을까!
내일 할 일
🎊 코드 스테이츠 51일차
[Spring MVC] JPA 기반 데이터 액세스 계층
- Daily Coding
- Spring Data JPA를 통한 데이터 액세스 계층 구현
- Pair - Spring Data JPA를 이용한 데이터 액세스 실습
다른거
- 1일 1커밋
- 복습
- 아침 운동