본문 바로가기

DB

[JPA DataBase] JPA를 이용하여 테이블 만들기 (application.yml)

728x90
spring:

jpa:
    show-sql: true #hibernate가 만들어준 SQL을 로그에서 보려면 true로 설정
    defer-datasource-initialization: true #true로 세팅하면 하이버네이트 초기화 전에 쿼리가 실행되면서 데이터를 생성

    generate-ddl: true #spring.jpa.hibernate.ddl-auto 속성을 사용할지 말지를 결정하는 옵션
                        #기본값이 false이기 JPA에 의한 자동초기화기능을 사용하려면 true로 바꾸고 사용
                        #true를 할 경우 실제 운영중인 디비에서는 테이블이 자동생성되어 다 덮어씌어져버려서 기존 테이블들을 없애거나 업데이트 시켜버림
    hibernate:
      ddl-auto: none # update:기존의 스키마 유지하며 JPA에 의해 변경된 부분만 추가
                     # validate:엔티티와 테이블이 정상적으로 매핑되었는지만 검증
                     # create:기존에 존재하는 스키마를 삭제하고 새로 생성
                     # create-drop : 스키마를 생성하고 애플리케이션이 종료될 때 삭제
                     # none : 초기화 동작을 하지 않음

      naming: #엔티티 에서는 snsId 이렇게 사용하는데, 디비 테이블에서 찾을 때는 sna_id를 매핑 시켜서 찾겠다
        physical-strategy: com.aaa.admin.config.NamingStrategy
        implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy

 

즉, 테이블 생성 위해서

spring.jpa.hibernate.ddl-auto:create (또는 update)를 한다.

728x90