spring.jpa.properties.hibernate.show_sql=true
Hibernate가 DB에 수행하는 모든 쿼리문을 콘솔에 출력
디폴트 값은 false임
spring.jpa.properties.hibernate.format_sql=true
로그, 콘솔의 SQL을 이쁘게 출력
디폴트 값은 false임
false라면 출력되는 쿼리문이 없음
spring.jpa.properties.hibernate.highlight_sql=true
spring.jpa.properties.hibernate.use_sql_comments=true
등등.. 더 많은 것들이 있음
JPA 구현체 중 하나인 하이버네이트는 엔티티만 등록해두면 DDL을 자동으로 작성하여 테이블을 생성하거나 수정해주는 ddl-auto 설정이 있다.
create
create-drop
update
validate
none(default)
spring.jpa.hibernate.ddl-auto=create
엔티티로 등록된 클래스와 매핑되는 테이블을 자동으로 생성
기존에 해당 클래스와 매핑되는 테이블이 존재한다면 기존 테이블을 삭제하고 생성한다.
spring.jpa.hibernate.ddl-auto=create-drop
create와 비슷하게 엔티티로 등록된 클래스와 매핑되는 테이블이 존재한다면 기존 테이블을 삭제하고 생성한다.
하지만, 애플리케이션이 종료될 때 테이블을 삭제하는 차이점이 있다.,
spring.jpa.hibernate.ddl-auto=update
엔티티로 등록된 클래스와 매핑되는 테이블이 없으면 새로 생성하며, 기존의 테이블이 존재하면 테이블의 컬럼을 변경한다.
하지만 모든 변경사항을 반영하는 것이 아닌, 기존에 존재하는 컬럼의 속성은 건드리지 않고 새로운 컬럼이 추가되는 변경사항만 반영한다.
spring.jpa.hibernate.ddl-auto=validate
spring.jpa.hibernate.ddl-auto=none
validate, none을 제외한 속성은 운영 DB에 절때 사용하면 안된다!
따라서 이 속성을 주의해야한다!!
개발 초기 단계 또는 로컬에서 테스트할 경우
테스트 서버일 경우
스테이징 및 운영 서버일 경우