🙂2023.01.11

일일 회고 147일차

할일 및 한일

연구실 홈페이지 DB 모델링 보완

오늘은 간단하게 속성들을 추가하고, 속성명을 변경하였다.

또한, id 속성들을 INTVARCHAR 이 아닌, BIGSERIAL 로 변경하였다. 추후에 uuid 로도 해볼 생각이다.

하지만 궁금증이 생겼다. 박사님께서는 속성명에 테이블 이름이 들어가지 않고, 단지 id 만 들어가는게 좋다고 하셨고, 오늘 강의에서 들은 김영한님께서는 _ 를 이용해서 테이블마다 구분해주는 것(ex) member_id)이 좋다고 하셨다.

이 부분에 대해서는 여쭤보고, 좀 더 알아보려고 한다.

오늘 한 작업을 정리한 링크는 다음과 같다.

스프링 부트 & JPA 강의 학습 및 정리

오늘 정말 많은 것을 학습한 것 같다.

우선, 기본편을 듣지 않고 바로 활용1편을 수강하여, 어노테이션부터 이해가 가지 않아서 찾아보면서 학습하였다.

  • ex) @Id , @GeneratedValue , @Column 등등..

따라서, 기초적인 어노테이션이나, 어떻게 테이블을 구성하고 매핑시키는지 방법에 대해서는 쉽게 이해할 수 있었다.

하지만, @Embedded@JoinColumn , mapped by 나 연관 관계를 LAZY 로 설정해주는 것 등은 이름에서 뭔가 직관적으로 들어오지 않아서 이해하기 어려웠지만, 예제를 실습해보면서 이해하였다.

-> 오늘 학습한 몇 가지 주의 사항들이 있다.

  1. 엔티티에는 가급적 Setter 를 사용하지 말자.

  2. 모든 연관 관계는 LAZY (지연로딩)으로 설정하자. -> 다대일, 일대일 관계에서만 변경해주면 된다. 나머지는 default가 LAZY

  3. 컬렉션은 필드에서 초기화하자.

  4. 실무에서는 다대다 관계는 사용하지말자. -> 대신, 다대일, 일대다 테이블로 풀어내는 중간 테이블을 매핑하자.

오늘 학습한 정리 내용은 다음과 같다.

또한, 연구실 동료인 동엽이와 간단하게 중요 사항들을 정리하여 업로드할 레퍼지토리를 생성하였다.

개선 및 목표

  • 내일은 JDBC 세미나가 있는 날이다. 마지막 날이니 잘 마무리하자.

  • 내일도 역시 JPA 강의 수강을 하자.

  • 남는 시간은 자료구조 세미나 멘토 준비 & 알고리즘 다시 한번 풀이를 하자.

Last updated