H2 데이터베이스
📌 Server Mode
- 직접 엔진을 설치해 사용
- 애플리케이션과 상관없는 외부에서 DB 엔진 구동
- 데이터가 애플리케이션 외부에 저장되므로 종료해도 데이터 사라지지 X
- 애플리케이션과 DB가 분리되어 있기 때문에 여러 애플리케이션에서 동일한 DB 사용하기에 적합
📌 In-memory Mode
- 애플리케이션 내부의 엔진 사용
build.gradle
및 application.properties
설정을 통해 실행 가능
- 데이터가 애플리케이션의 메모리에 저장, 애플리케이션 종료하면 DB 엔진 함께 종료 & 데이터 사라진다 (휘발성 특징)
- 단위 테스트 등에서 많이 사용
# application.yml
spring:
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:mem:{DB 이름}
username: sa
password:
📌 Embeded Mode
- 애플리케이션 내부의 엔진 사용
- 애플리케이션 종료하면 DB 엔진 함께 종료
- 데이터가 애플리케이션의 외부에 저장, 애플리케이션 종료해도 데이터 사라지지 X