H2 DB 란?
- 자바 기반의 오픈 소스 RDBMS입니다.
- Server 모드와 Embeded 모드를 지원합니다
- Embeded 모드의 경우, In memory로 동작합니다. (휘발성)
- 브라우저 기반의 콘솔 프로그램입니다.
- 별도의 설치과정이 필요없고, 2MB 용량으로 매우 가볍고 빠릅니다.
- ANSI 표준 SQL을 사용합니다.
- JDBC API를 지원합니다.
- 주로 개발단계에서 테스트용 인메모리 DB로 사용됩니다.
application.yml
spring:
datasource:
url: jdbc:h2:mem:test
username: sa
password:
driver-class-name: org.h2.Driver
h2:
console:
enabled: true
jpa:
defer-datasource-initialization: true
database-platform: H2
hibernate:
ddl-auto: create-drop
open-in-view: false
properties:
hibernate:
format_sql: true
show_sql: true
- h2.console.enabled
- h2 콘솔(브라우저)을 사용할 것인지를 설정합니다.
- jpa
- defer-datasource-initialization
- 초기 데이터 입력을 진행할 수 있도록 하는 옵션
- 빈을 생성하고 초기화를 마칠 때까지 데이터소스 초기화를 미룹니다.
- 이 옵션이 없으면 테이블 생성 전에 초기 데이터 입력을 하려고 하게 됩니다 (spring boot 2.5.0이상부터 필요한 옵션)
- 초기 데이터 입력을 진행할 수 있도록 하는 옵션
- hibernate
- ddl-auto
- 어플리케이션 기동 시점에 테이블 생성, 종료 설정을 해줍니다.
- properties
- format_sql : 쿼리를 보기좋게 포맷팅 해줍니다.
- show_sql : hibernate가 DB에 날리는 모든 쿼리를 보여줍니다.
- ddl-auto
- defer-datasource-initialization
출처
https://lannstark.tistory.com/14
https://godekdls.github.io/Spring%20Boot/howto.data-initialization/
'Spring Framework > JPA' 카테고리의 다른 글
Transaction (트랜잭션) (0) | 2022.06.10 |
---|---|
엔티티 매핑 (0) | 2022.06.10 |
영속성 관리 (0) | 2022.06.10 |
데이터베이스 방언 (Dialect) (0) | 2022.06.10 |
JPA 소개 (0) | 2022.06.10 |
댓글