스프링부트 JPA : MySQL 8.0 설정

KIM YONG GU·2023년 10월 16일

SpringBoot

목록 보기
5/17

build.gradle

JPA 환경설정

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

application.properties

DB 데이터 경로

spring.datasource.url=jdbc:mysql://localhost:3306/sbb?useUnicode=true&characterEncoding=utf8&autoReconnect=true&serverTimezone=Asia/Seoul
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=

Hibernate

// 데이터베이스 엔진 종류를 설정한다. (MySQL 8.0.1이상에서는 MySQLDialect로 사용, 버전명 X)
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
// 엔티티를 기준으로 테이블을 생성하는 규칙을 정의한다.
spring.jpa.hibernate.ddl-auto=update
// 실행된 쿼리를 콘솔로그에서 확인하기
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.show_sql=true

spring.jpa.hibernate.ddl-auto 옵션값

위 설정에서 spring.jpa.hibernate.ddl-auto를 update로 설정했다. update와 같은 설정값에 대해서 간단히 알아보자.
none - 엔티티가 변경되더라도 데이터베이스를 변경하지 않는다.
update - 엔티티의 변경된 부분만 적용한다.
validate - 변경사항이 있는지 검사만 한다.
create - 스프링부트 서버가 시작될때 모두 drop하고 다시 생성한다.
create-drop - create와 동일하다. 하지만 종료시에도 모두 drop 한다.
개발 환경에서는 보통 update 모드를 사용하고 운영환경에서는 none 또는 validate 모드를 사용한다.

profile
Engineer, Look Beyond the Code.

0개의 댓글