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
반응형