해당 카테고리의 글에서 작성, 첨부하는 모든 코드와 예제, 자료는 김영한 님의 강의
[인프런 : 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 을 수강 후
개인적으로 정리한 내용임을 알립니다 :D
JPA(Java Persistence API)를 사용하는 이유
| jdbc의 이용으로 반복적인 코드 작성이 확 줄었지만 SQL문은 개발자가 직접 작성해야 함 → JPA는 기존의 반복 코드뿐만 아니라 SQL 쿼리도 자동으로 처리해준다. |
| JPA의 사용으로 개발 생산성을 크게 높일 수 있다. |
| JPA를 사용하면 SQL과 데이터 중심 설계에서 객체 지향 설계로 패러다임을 전환할 수 있다. |
JPA 사용 설정
- build.gradle 파일에 JPA, h2 데이터베이스 관련 라이브러리 추가
dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' }
data-jpa를 추가하면 jdbc 관련 라이브러리도 포함하기 때문에 이전에 추가했던 jdbc 라이브러리가 있다면 지워도 된다.


JPA : 인터페이스
Hibernate : 오픈 소스 구현체 → 실행 시 필요한 쿼리문을 추가해줌
- application.properties 파일에 JPA 설정 추가
spring.jpa.show-sql=true // JPA가 생성하는 SQL을 출력
spring.jpa.hibernate.ddl-auto=none // JPA를 사용하면 객체를 보고 테이블을 자동으로 생성해준다.
spring.jpa.hibernate.ddl-auto=none : 예제의 경우 만들어 둔 테이블이 있기 때문에 none으로 자동 생성을 꺼준다.
none대신 create를 사용하면 엔티티 정보를 바탕으로 테이블도 직접 생성해준다.
스프링 데이터 JPA 프레임워크
스프링 데이터 JPA는 JPA를 편리하게 사용하도록 도와주는 기술이다.
리포지토리에 구현 클래스 없이 인터페이스만으로 개발을 완료할 수 있으며,
반복 개발해온 기본 CRUD 기능도 스프링 데이터 JPA가 모두 제공한다.
따라서 스프링 부트와 JPA 기반의 스프링 데이터 JPA 프레임워크를 사용하면
단순한 반복 코드가 줄어들어 핵심 비즈니스 로직을 개발하는데 집중할 수 있다.
'인텔리 제이_스프링 입문 강의' 카테고리의 다른 글
| [Spring Boot] 프로퍼티 바인딩 - HTML의 name의 값과 getter, setter 매핑 (0) | 2023.07.18 |
|---|---|
| [스프링 입문] 회원 관리 예제 (0) | 2023.06.15 |
| 스프링 웹 개발 기초 - 정적 컨텐츠/MVC와 템플릿 엔진/API (0) | 2023.06.05 |
| [IntelliJ] 인텔리제이 getter setter 자동 생성 단축키 (0) | 2023.06.04 |
| Spring 프로젝트 빌드하고 실행하기 (0) | 2023.05.29 |