우아한 테크캠프 Pro — 3주차

Byungkyu Ju
byungkyu-ju
Published in
3 min readFeb 1, 2021

3주차 — JPA

https://www.sisul.or.kr/open_content/skydome/introduce/pop_subway.jsp

3주차 강의

3주차 강의는 JPA로 지하철 노선을 구현해보는 미션이었다.

미션을 시작하기 이전에 강의를 받은 박재성(Jason)님이 JPA와 함께 객체 지향 패러다임 대한 설명, 그리고 라이브코딩으로 강의를 진행하였다.

참고자료는
- 토크ON 41차. JPA 프로그래밍 기본기 다지기 | T아카데미
- 자바 ORM 표준 JPA 프로그래밍 — 김영한
- 인프런 — 김영한
- 영속성 컨텍스트로 보는 JPA

객체 지향 패러다임

객체 지향 패러다임이란 시스템을 구성하는 객체들에게 적절한 책임을 할당하는 것이라고 한다. 책임을 할당하는 방법은 상속과 연관관계를 통해서 줄 수 있는데, 이들의 관계들 모여 객체간에 그래프를 만든다고 할 수 있으며, 객체들은 자유롭게 객체간의 그래프를 탐색할 수 있어야 한다.

미션은 총 3가지였는데, 엔티티의 매핑과 연관관계 매핑, 그리고 다대다의 연관관계로 리팩토링하는 미션이었다.

미션 자체는 어렵지 않았는데, 아무래도 JPA를 접하지 않은 수강생들이 많을 것이라는 예상으로 맛보기(?)의 느낌이었다.
하지만 @ManyToOne의 관계계에서 Lazy로딩을 사용하지 않아, 불필요하게 조회하는 실수도 있었다. 이전과 유사하게 반복적인 부분을 재활용 가능하도록 개선하는 부분이 부족했던 것도 있었고, 익숙하지 않은 만큼 꼼꼼함이 떨어졌다는 후회를 한다.

교육과정에서 나와 같은 수강생들은 대부분 JPA의 필요성에 대해 인지하고 있고, 업무에서 사용하지 못했지만 다들 각자의 방법으로 공부를 한 상태였다. 최근 많은 서비스회사들이 JPA를 기본으로 사용하고 있지만 못지않게 사용하지 않거나 사용을 꺼려하는 회사들이 많다는걸 느낄 수 있었다.

--

--