티스토리 뷰
1. spring.jpa.hibernate.ddl-auto에서 설정하는 자동 데이터베이스 생성 정책에 대한 내용이다.
2. 선택 가능 옵션들
2-1 none
2-2 validate - 기동 시 스키마를 검증하여 필요한 테이블과 컬럼이 없을 경우 에러가 발생한다.
2-3 update - Entity에 적합하게 기존의 스키마를 변경한다. 데이터는 그대로이다.
2-4 create - 기동 시 데이터베이스 스키마가 생성된다. 종료 시 데이터만 삭제된다.
2-5 create-drop - 기동 시 데이터베이스 스키마가 생성되지만, 종료시 데이터베이스 스키마가 삭제 된다.
3. 내장 데이터베이스(h2, hsql, derby)에는 스프링 부트는 create-drop을 기본으로 사용한다.
4. Hibernate의 기본 데이터 로딩 파일은 import.sql이다.
4-1 하이버네이트를 사용할 경우에만 실행된다.
4-2 파일이 classpath root에 위치해야 실행된다.
4-3 ddl-auto 속성이 create이나 create-drop으로 지정되어 있을 때만 실행된다.
5. 스프링의 기본 데이터 로딩 파일을 schema.sql 과 data.sql이다.
5-1 플렛폼에 따라서도 로딩이 가능한데, schema-${platform}.sql, data-${platform}.sql 로 지정할 수 있다.
5-2 플렛폼에 따른 로딩을 할 때는 spring.datasource.platform이라는 속성을 설정해야 한다.
5-2-1 속성값은 hsqldb, h2, oracle, mysql, postgresql 등이다.
6. ddl-auto를 사용할 때는 schema.sql은 사용할 수 없다. 둘 중 하나만 사용할 수 있다.
6-1 DDL과 상관이 없는 none과 validate의 경우에는 사용할 수 있다.
7 MySQL 같은 외장 데이터베이스를 사용할 경우 data.sql 가 실행되지 않는다.
7-1 data.sql을 사용하고 싶은 경우는 아래처럼 initialization-mode를 always로 변경해 주어야 한다.
spring:
datasource:
url: jdbc:mysql://localhost:3306/dev_recipe?serverTimezone=Asia/Seoul
username: dev_recipe
password: dev_recipe
initialization-mode: always
'Spring > Hibernate' 카테고리의 다른 글
PostgreSQL: Full Text Search (0) | 2024.03.20 |
---|---|
Hibernate : @Lob (Large Object) (0) | 2020.07.28 |
Hibernate Basic : Bi-directional 관계 Entity의 JSON 재귀적 호출 해결 (0) | 2020.06.11 |
Hibernate Advanced : 상속 매핑 - Mapped Superclass Strategy (0) | 2020.06.06 |
Hibernate Advanced : 상속 매핑 - Joined Table Strategy (0) | 2020.06.06 |
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- 로그인
- Rest
- 자바
- 설정
- 설정하기
- hibernate
- login
- RestTemplate
- 상속
- 외부파일
- MYSQL
- 매핑
- Spring Security
- 스프링
- one-to-one
- XML
- Validation
- mapping
- 하이버네이트
- crud
- spring boot
- jsp
- one-to-many
- Many-To-Many
- Security
- Spring
- WebMvc
- form
- Angular
- 스프링부트