본문 바로가기

서버개발스터디/1주차 (Spring\JPA\H2)

#03 JPA의 등장

EJB2로 개발을 하던 Gavin king은 사용자 친화적이지 않고 무거웠으며 테스트도 어려웠던 개발 방식에서 벗어나 자바 애플리케이션을 편하게 만들고 싶어서 만들었는데 그 이름이 Hibernate 였다.그리고 Hibernate의 인기가 치솟아 오르자 Java 진영에서 Gavin king을 불렀고 이렇게 JPA 가 탄생하게 된다.

 

JPA (Java Persistent API) 란 자바 ORM 기술에 대한 표준 명세를 의미한다. 또한 JPA는 ORM을 사용하기 위한 인터페이스를 모아둔 것이며, 이를 구현한 Framework인 Hibernate, EclipseLink, DataNucleus 가 있고 Spring 에서는 대부분 Hibernate를 사용하는 것 같다.

 

JPA

 

Spring에서 JPA를 사용할 때는 이 구현체들을 직접 다루지 않고 구현체들을 좀 더 쉽게 사용하고자 추상화시킨 Spring Data JPA라는 모듈을 이용하여 JPA 기술을 다룬다. 

 

JPA <- Hibernate <- Spring Data JPA

 

JPA를 사용 할 때에는 객체끼리의 관계를 어떻게 DB의 PK, FK와 같은 형태로 설계를 하느냐가 매우 중요한 것 같다. 

객체는 FK의 개념이 없기 때문에 이 부분은 필드 맴버를 가지므로 해결하고 있다.  이러한 부분을 정확히 

학습하지 않고 JPA를 쓴다면 되려 안쓰느니만 못한 결과를 낳을 수 있기 때문에 JPA의 학습이 중요한 것 같다.

 

오늘은 JPA의 등장 배경에 대한 이야기만 다루었다 ~! 참고로 사용법은 요 링크를 가서 공부하는 것도 좋을 것 같다 ~ 

인프런 에서 김영한님의 스프링 강좌를 들었는데 정말이지 최고였다!! 그런데 그 김영한님이 JPA관련 책을 4년전?? 인가 출판하게 됐는데 그분의 강의가 유튜브에 올라와 있는 것 아닌가? ㅎㅎ 

 

https://youtu.be/WfrSN9Z7MiA

 

김영한님이 우아한형제들에 있으면서 개발자들을 위해서 강의도 하고 스터디 진행도 했다고 하던데... 

아... 프리랜서로 살아가고 있는 나에게는 꿈만같은 일이다... 

 

다른 포스팅에서는 JPA를 실제로 어떻게 사용해야 되는지 자세하게 알아보는 시간을 꼭 갖도록 하겠다!!
아!! 그리고 지금 내가 사용하는 폐쇄망(금융권) 솔류션에 Mybatis를 하나하나 빼고 JPA를 가져다가 실전에서 사용해 볼 생각이다 ㅋㅋㅋ 가장 좋은 건 실전이니까 ~~ 

 

기존 시스템 바꿀 생각 하니까 왜이렇게 행복하지 ㅋㅋㅋㅋ 

'서버개발스터디 > 1주차 (Spring\JPA\H2)' 카테고리의 다른 글

#02 ORM 이란?  (0) 2021.05.12
#01 실습 정리!  (0) 2021.05.12
1주차 스터디 실습 & 포스팅 목록 정리  (0) 2021.05.12