잡것

SeoJaeYeong·2026년 1월 28일

application. 에서

yml
properties
차이를 몰랐음. 찾아보니 문법의 차이고 성능 측면에서는 상관없음

  jpa:
    hibernate:
      ddl-auto: validate
    properties:
      hibernate:
        format_sql: true
    show-sql: true
	spring.jpa.hibernate.ddl-auto = validate
	spring.jpa.properties.hibernate.format_sql = true
	spring.jpa.show-sql = true
  1. ddl-auto: validate

“엔티티(Entity)와 실제 DB 테이블 구조가 일치하는지만 검사”

옵션별 의미
값 의미
none 아무 것도 안 함
validate 구조만 검사 (지금 추천)
update 엔티티 기준으로 테이블 수정
create 실행 시 테이블 전부 삭제 후 생성
create-drop 실행 시 생성, 종료 시 삭제

  1. spring.jpa.properties.hibernate
  • Hibernate 전용 세부 옵션

spring JPA는 내부적으로 Hibernate를 쓰기 때문에
Hibernate 설정을 이렇게 "넘겨서" 쓰는 구조

  1. format_sql: true
  • SQL을 보기 좋게 정렬해서 출력

예시
기본

select user0_.id as id1_0_,user0_.email as email2_0_ ...
select
	user0_.id as id1_0_,
    user0_.email as email2_0_
from
	user user0

디버깅에 능함

  1. spring.jpa.show-sql: true
  • Hibernate가 실행하는 SQL을 콘솔에 출력

실제로 어떤 SQL이 DB에 날아가는지 확인 가능

0개의 댓글