JAP(관계형 데이터베이스)

학습 페이지

이번시간에는 JPA에 대해 알아보자. JDBC템플릿을 사용해도 SQL쿼리는 개발자가 직접 썼어야 하는데, JPA를 쓰면 쿼리도 알아서 처리해준다… 객체를 내장 DB에 저장하듯이 객체를 JPA에 넣으면 JPA가 중간에서 알아서 디비에 쿼리 날리고 저장하고 까지 다 해준다…

JPA를 사용하면… 이제 SQL신경안쓰고, 객체 중심으로 사고할 수 있게 된다.

Untitled

JPA(Java Persistence API)와 비교될만한건 MyBatis라는 서비스임… 한국에서는 마이바티스를 많이 쓰긴 하지만, 전 세계적으로 보면 JPA가 압도적으로 많이 사용한다.

왜 국내에선 마이바티스를 더 쓸까? 국내에 알려지지 않았기 때문이라고 김영한님은 생각했다…

스프링 프레임워크는 엄청 큰 기술이다. JPA도 스프링만큼… 기술적 깊이가 있는 기술이다. 스프링에서도 JPA를 많이 지원한다.

왜 JPA가 좋은건지? 실습해보자.

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

JPA를 쓰려면 위와 같은 라이브러리를 추가해야 한다.

spring.jpa.show-sql=true //JPA가 사용하는 SQL보는 설정
spring.jap.hibernate.ddl-auto=none //자동으로 테이블 만들어주는 기

그리고 애플리케이션 프로퍼티에 위의 문장을 추가해준다.

JPA는 인터페이스만 제공된다. 그 구현기술은 여러개 벤더가 있는데, 보통은 JPA인터페이스에 하이버네이트라는 기술을 사용한다.

JPA는 객체 + ORM(Object Relational Mapping)기술이다. 매핑은 어노테이션으로 한다.