JPA(Java Persistence API)

최태양 (choittttt)·2023년 12월 1일
0

스프링 정복하기

목록 보기
7/11
post-thumbnail

출처 : 김영한

JPA

JPA는 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해준다. JPA를 사용하면, SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환을 할 수 있다. JPA를 사용하면 개발 생산성을 크게 높일 수 있다.

build.gradle 파일에 JPA, h2 데이터베이스 관련 라이브러리 추가**

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

스트링 부트에 JPA 설정 추가

resources::application.properties 파일에 밑 코드 추가

spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=none

spring.jpa.show-sql : Spring Boot 애플리케이션에서 JPA(Java Persistence API)를 사용할 때, 실행되는 SQL 쿼리를 콘솔에 출력할지 여부를 설정하는 속성입니다.

일반적으로 개발 및 디버깅 단계에서 SQL 쿼리를 살펴보고 디버깅하는 데 도움이 되므로, 개발 환경에서는 이 속성을 활성화하는 것이 유용합니다. 그러나 운영 환경에서는 SQL 쿼리를 노출하지 않는 것이 보안 및 성능 측면에서 권장됩니다.

spring.jpa.hibernate.ddl-auto : Hibernate가 데이터베이스 스키마를 자동으로 생성 또는 업데이트하는 방식을 지정하는 데 사용됩니다. none으로 설정하면 Hibernate가 자동으로 스키마를 생성하거나 업데이트하지 않도록 설정됩니다.

다른 옵션들

  • create: Hibernate는 애플리케이션 시작 시에 데이터베이스 스키마를 생성합니다. 기존 스키마가 이미 존재하는 경우에는 드롭하고 다시 생성합니다. (개발 및 테스트 단계에서 사용)

  • update: Hibernate는 애플리케이션 시작 시에 데이터베이스 스키마를 업데이트합니다. 즉, 새로운 엔티티나 필드를 기존 테이블에 추가합니다. (주의: 존재하는 데이터를 보존하면서 스키마를 수정하는 데 사용)

  • validate: Hibernate는 애플리케이션 시작 시에 데이터베이스 스키마를 검증하며, 유효성 검사에 실패하면 예외를 던집니다.

  • create-drop: Hibernate는 애플리케이션 시작 시에 데이터베이스 스키마를 생성하고, 애플리케이션 종료 시에 스키마를 다시 삭제합니다. (테스트 용도)

profile
Better Than Yesterday

0개의 댓글