# DDL(create, alter, drop) 정의 시, DB의 고유 기능을 사용할 수 있음
spring.jpa.properties.hibernate.format_sql=true
# JPA의 구현체인 Hibernate가 동작하면서, 발생한 SQL의 가독성을 높여줌
# .jsp 설정
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
# 기본 환경 선택 (local 환경으로 선택)
spring.profiles.active=local
spring.profiles
- 어플리케이션 실행시 파라미터로 넘어온게 없으면 active 값을 인식
application-local.properties(전역 설정)
- 프로파일에 따라 다른 설정을 사용하도록 하기 위해 별도의 설정 파일을 생성
1
2
3
4
5
6
# local 환경
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.defer-datasource-initialization=true
spring.sql.init.mode=always
- 공통영역의 값은 각 profile환경에 동일한 설정이 있으면 무시되고, 없으면 공통영역의 설정값이 사용됨
🚨 그러므로, 공통영역에 설정값을 넣는것에 주의
- 만약 공통영역에 jpa.hibernate.ddl-auto:create-drop가 있고 운영 profile에 해당 설정값이 없다면 운영환경에서 배포시 모든 테이블이 drop -> create 됨 - ⭐ 이 때문에 datasource, table 등과 같은 옵션들은 공통영역엔 두지 않고 각 profile마다 별도로 두는것을 추천
스프링의 경우, 내장 데이터베이스(H2, HSQL, Derdy)에 대해서 스크립트 기반의 초기화를 기본적으로 실행하지만, 내장 데이터베이스가 아닌 경우(MySQL 등) 다음 옵션을 활성화(= always) 해야함 외부 데이터베이스와 연결되어 있다면 해당 옵션을 활성화해야 script 파일이 적용됨