[IntelliJ] Spring Boot 프로젝트에 JPA 환경 설정하는 방법

JooKit 주킷 2024. 11. 7. 20:00
목차 접기
728x90
반응형

 

 

JPA 의존성을 build.gradle 에 추가 

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
    runtimeOnly 'com.h2database:h2'  // H2 데이터베이스 의존성
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'  // JPA 의존성
}

 

마지막 라인의 jpa 의존성을 추가해 준다.

 

이전에 H2 데이터베이스를 설치하였고, 스프링부트 자바 프로그램에서 데이터베이스에 데이터를 저장하거나 조회하기 위해서는 JPA를 사용해야 한다. 

그러기 위해 필요한 JPA 설정을 해줘야 한다.

 

 

2024.11.07 - [IT 유용한 정보] - [intelliJ] Spring Boot JPA 활용을 위한 H2 데이터베이스 설치 및 사용 방법

 

[intelliJ] Spring Boot JPA 활용을 위한 H2 데이터베이스 설치 및 사용 방법

Help.JPA: Java Persistence API스프링 부트는 JPA를 ORM 기술의 표준으로 사용하고 있다.JPA는 인터페이스 모음으로 이 인터페이스를 구현한 실제 클래스를 필요로 한다.JPA를 활용하기 위한 대표적인 실제

harrydony.tistory.com

 

 

 

build.gradle 을 추가하거나 변경하면 꼭, gradle refresh를 해주는 것! 잊지 않아야 한다.
gradle refresh로 변경사항을 업데이트하는 방법은 위 게시글에서도 참고할 수 있다.

 

 

 

application.properties 환경 설정 추가

# JPA
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update

 

위 2개의 환경을 추가로 설정해 주어야 한다.

 

 

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect

스프링부트와 하이버네이트를 함께 사용하려면 꼭 필요한 설정이다.
SQL이 아닌 하이버네이트만의 SQL을 사용할 때 필요한 설정.

 

spring.jpa.hibernate.ddl-auto=update

엔티티를 기준으로 데이터의 테이블을 생성하는 규칙을 설정한다.

 

  • none: 엔티티가 변경되더라도 데이터베이스를 변경하지 않는다.
  • update: 엔티티의 변경된 부분만 데이터베이스에 적용한다.
  • validate: 엔티티와 테이블 간에 차이점이 있는지 검사만 한다.
  • create: 스프링부트 서버를 시작할 때 테이블을 모두 삭제한 후 다시 생성한다.
  • create-drop: create와 동일하지만 스프링부트 서버를 종료할 때에도 테이블을 모두 삭제한다.

 

보통 개발 환경에서는 update 모드를 이용하고, 운영 환경에서는 none 또는 validate를 주로 사용한다.

 

 

 

 

728x90
반응형
LIST