반응형
📌 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 두가지만 사용하기 !!!
< 해당 글은 velog에서 이전하며 옮겨온 글로, 가독성이 좋지 않을 수 있는 점 양해 부탁드립니다. >
🔗 velog 버전 보기 : https://velog.io/@ryuneng2/Spring-Spring-Data-JPA-설정-정의한-JPA-Entity-클래스로-테이블-자동-생성되도록-설정하기
'BackEnd > Spring' 카테고리의 다른 글
[Spring JPA] Spring Data JPA의 페이징 처리 (0) | 2025.01.19 |
---|---|
[Spring] Thymeleaf로 데이터를 출력하는 법, 표현식 유틸리티 객체 (1) | 2025.01.18 |
[Spring] Spring Data JPA 연관관계 어노테이션 @ManyToOne (0) | 2025.01.18 |
[Spring] Optional 처리 (0) | 2025.01.18 |
[Spring] JUnit 단위테스트 (0) | 2025.01.18 |