매일 조금씩

Spring boot 에서 JPA 세팅 (application.properties 설정) 본문

Spring Framework

Spring boot 에서 JPA 세팅 (application.properties 설정)

mezo 2021. 12. 14. 14:04
728x90
반응형

스프링 부트에서 JPA를 사용하려면 application.properties를 설정해두어야 한다. 

 

> main / resources / application.properties

# create, update, validate, none
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=true
spring.jpa.database=mysql

# mariadb configuration
spring.datasource.url=jdbc:mariadb://localhost:3306/meeting_document?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=비밀번호
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

#spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect

#spring.servlet.multipart.location=서버저장주소
spring.servlet.multipart.max-file-size=100MB

 

spring.auto.hibernate.ddl-auto :

  • create : 테이블이 없을 경우, 테이블 생성
  • create-drop : 테스트 환경에 적합하다. 테스트 실행시 mock Data를 위해 table을 생성하고 테스트 종료 후, 테이블 drop
  • validate : application 실행시 @Entity들과 이미 존재하는 테이블(schema)가 정상적으로 멥핑되었는지 판단하여 만약 @Entity에 속성이 추가될 경우, 기존 테이블의 데이터에는 변화없이 새로운 Column을 추가한다. 
  • none : 아무것도 하지 않는다. 

spring.jpa.generate-ddl : DDL 생성시 데이터베이스 고유의 기능을 사용하는지에 대한 유무

spring.jpa.show-sql : jpa나 hibernate를 통해 CRUD를 실행하면 해당 CRUD의 sql을 로깅으로 보여준다. spring.jpa.database : 사용하는 데이터베이스를 지정한다.spring.jpa.database-platform : 

  • Spring Data JPA는 기본적으로 Hibernate라는 JPA 구현체를 사용한다.
  • Hibernate는 내부적으로 지정되는 DB에 맞게 SQL문을 생성하는 Dialect가 존재한다. 
  • Dialect는 Hibernate가 다양한 데이터베이스를 처리하기 위해 각 데이터베이스에 맞는 (각기다른) SQL 문법을 처리하기 위해 존재한다. 
  • MySQL5Dialect, MySQL5lnnoDBDialect, Oracle10gDialect, OracleDialect 등 다양한 Dialect가 있다.

 

728x90
반응형