Coding Note

JPA 소개하기 및 데이터 베이스 다루기 본문

SpringBoot/AWS_PJ

JPA 소개하기 및 데이터 베이스 다루기

jinnkim 2022. 3. 7. 21:45

 

 

TMI

정보처리기사 필기시험 준비하느라...

스터디를 제대로 못했다..

그래도 필기 결과는 합격!!

 

이제 스터디에 몰두해야지~

 

 


 

 

 

Q1. JPA 란?

- 자바 표준 ORM(Object Relational Mapping)

- 인터페이스로서 자바 표준 명세서

- 객체를 매핑하는 기술

- JPA를 사용하기 위해 구현체가 요구됨

  - Hiberate, Eclipse, Link 등

 

JPA는

객체 지향 프로그래밍 언어와 관계형 데이터베이스 2개 영역을 중간에서 패러다임을 일치시켜주기 위한 기술이다.

즉, 개발자는 객체지향적으로 프로그래밍을 하고, JPA가 이를 관계형 데이터베이스에 맞게 SQL을 대신 실행한다!

 

 

Q2. Spring Data JPA

- Spring에서 사용하는 JPA

- JPA를 사용하기 위해 구현체가 필요하나, Spring Data JPA는 구현체를 직접 다루지 않음.

  - JPA <- Hibernate <- Spring Data JPA

 

 

Q3. Spring Data JPA 등장 배경

- 구현체 교체의 용이성

   - Hibernate 외에 다른 구현체로 쉽게 교체하기 위함.

- 저장소 교체의 용이성

   - 관계형 데이터베이스 외에 다른 저장소로 쉽게 교체하기 위함

 

 

Q4. 실무에서 JPA

- CRUD쿼리를 직접 작성할 필요 없음

- 부모-자식 관계 표현, 1:N 관계 표현, 상태와 행위를 한 곳에서 관리하는 등 객체 지향 프로그래밍을 쉽게 할 수 있음.

 

 

 

JPA로 데이터베이스를 다루는 게시판(웹 애플리케이션)을 만들어 볼 예정이다!!

 

 


 

1.  프로젝트에 Spring Data  JPA 적용하기

 

build.gradle에 다음과 같이 의존성을 등록한다.

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'com.h2database:h2'

 

Q1. spring-boot-starter-data-jpa

 - 스프링 부트용 Spring Data Jpa 추상화 라이브러리

- 스프링 부트 버전에 맞춰 자동으로 JPA관련 라이브러리들의 버전을 관리해줌

 

 

Q2. h2

- 인메모리 관계형 데이터베이스

- 별도의 설치 필요 없이 프로젝트 의존성만으로 관리할 수 있음

- 메모리에서 실행되기 때문에 애플리케이션을 재시작할 때마다 초기화된다는 점을 이용해 테스트 용도로 많이 사용됨

 

 

 

Comments