본문 바로가기
Backend/JPA

[JPA] JAVA ORM JPA (JPA개념 / JPA 입문 / 스프링부트 / JPA 책 추천 )

by 비전공자 기록광 2021. 7. 25.
반응형

스프링 부트를 공부하며 떼놓을 수 없는 기술인 JPA (Java Persistence Api)

 

나는 공부를 하며 이 JPA 때문에 많이 힘들었다.

대체 왜 필요한것이고 왜 쓰는 것일까?

 

일단

JPA인터페이스다.

이 JPA를 쓰기 위해선 구현체가 필요한데 이 대표적인 프레임워크로 Hibernate 하이버네이트가 있다. 

 

그래서 이게 다 뭘 의미할까?

 

 

웹개발을 할때 많이들 객체지향 언어(Java / kotlin) + 관계형 데이터베이스 (MySQL / Oracle) 조합으로 한다.

 

이전 실습때 java 기반의 Spring + Mybatis 로 CRUD 게시판 구현을 했다.

 

2021.04.18 - [IT 독학/WEB] - [Spring _MVC ①] CRUD 게시판 구현 개발환경 설정 (STS / MVC 패턴 / Mybatis / 스프링 입문 / 백엔드 / 웹개발)

 

[spring MVC ②] 캡쳐

 

이 Spring + Mybatis 실습을 하며 쿼리문을 작성하기 위해 SQL 문법을 모르면 안됐다.

여기서 또 복잡한 쿼리문을 들어가려면 mybatis만의 동적 SQL 문법을 따로 보며 작성해야 했다. 

 

여기서 JPA가 등장했다.

 

개발자는 객체지향적으로 프로그래밍을 하고, JPA가 이를 관계형 데이터베이스에 맞게 SQL을 대신 생성해서 실행합니다. 개발자는 항상 객체지향적으로 코드를 표현할 수 있으니 더는 SQL에 종속적인 개발을 하지 않아도 됩니다. 

- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 82p

 

+ 책 참고

https://book.naver.com/bookdb/book_detail.nhn?bid=15871738

 

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다.경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현합니다. JPA와 JUNIT 테스트, 그레이들, 머스테치, 스프링

book.naver.com

 

 

결국

JPA

객체지향 프로그래밍과 관계형 데이터베이스 사이의 패러다임 일치를 위한 기술이라고 한다. 

다시 말해 객체를 RDB에 매핑하기, 객체를 객체대로 설계하기 위한 기술로 볼 수 있다.

 

 

JPA를 사용하며 객체 중심 개발을 하므로 생산성이 향상되고 유지보수에도 편리해졌다고 한다.

 

요즘 떠오르는 기술이니 잘 배워둬야겠다. 

 

 

 

+참고 

https://youtu.be/WfrSN9Z7MiA

 

 

반응형

댓글