[Spring] Spring Data JPA 설정 - 정의한 JPA Entity 클래스로 테이블 자동 생성되도록 설정하기

류넹·2024년 3월 19일
1

Spring

목록 보기
41/50

📌 application.properties 설정

spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.show-sql=true

1. spring.jpa.hibernate.ddl-auto=update

  • SQL의 DDL 기능 - update: 변경분만 반영 (개발환경에서만 사용할 것)
  • 만약 테이블을 Developer에서 SQL로 따로 생성해두고, JPA를 사용하고 싶다면 해당 설정을 추가하지 않으면 된다.

2. spring.jpa.properties.hibernate.format_sql=true

  • 스프링 부트가 실행되면서 사용하는 SQL들의 포맷팅, true인 경우 줄바꿈 처리가 되기 때문에 좀 더 알아보기 쉬워진다.

3. spring.jpa.show-sql=true

  • 실행 과정에서 만들어지는 SQL 출력


❓ ddl-auto

Entity 클래스를 정의하면 DDL(Data Definition Language)을 자동으로 작성하여 테이블이 생성되거나 수정되도록 하는 설정

속성값

create

  • Entity 클래스를 정의하면 매핑되는 테이블을 자동으로 생성한다. 만약 테이블이 존재하면 기존 테이블을 삭제하고 새로 테이블을 생성한다.

create-drop

  • create와 동일하게 동작하지만, 애플리케이션이 종료될 때 모든 테이블을 삭제한다.

update

  • create와 동일하지만, 기존 테이블이 존재하면 삭제하는 것이 아니라 컬럼을 변경한다.

validate

  • 다른 속성값과 달리 DDL 구문을 생성해서 테이블을 생성하거나, 수정하지 않는다.
    엔티티 클래스와 테이블이 정상적으로 매핑되는지만 검사한다.

none

  • 아무 일도 일어나지 않는다.




⛔ 주의

실제 프로젝트 환경에서 ddl-auto 속성값을 create, create-drop, update로 설정하면 절대x999999999 안됨
반드시 validate, none 두가지만 사용하기 !!!

profile
학습용 커스터마이징 간단 개발자 사전

0개의 댓글