Spring H2 Support

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Playground Example

Playground Spring Data H2 JPA

Overview

If a H2 dependency is available in the runtime classpath, the Spring Boot runtime automatically creates an appropriate DataSource bean in the application context. The bean applies the SQL scripts "schema.sql" and "data.sql".

Simple Project

Use Spring Initializr to bootstrap the project. Alternatively use Spring Initializr-generated build.gradle and settings.gradle.

To bootstrap JPA and H2, add the following dependencies:

dependencies {
    ...
    implementation('org.springframework.boot:spring-boot-starter-data-jpa')
    runtimeOnly('com.h2database:h2')
    ...
}

Follow the JPA programming model described at Adding Persistence with Spring Data JPA.

To test from command line, add command-line support as specified in Console (command-line) Application with Spring Boot.

To configure IntelliJ IDEA to access the in-memory database see IntelliJ IDEA H2 Support.

Database Access Configuration

Based on:

Spring Data JPA - Database Access Configuration

Add in application.properties or equivalent:

spring.datasource.url=jdbc:h2:tcp://localhost/mem:default
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.platform=h2

Database Initialization

Based on:

Spring Data JPA - Database Initialization
spring.jpa.generate-ddl=true

Alternative:

spring.datasource.initialization-mode=always
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=true

SpringBoot DevTools H2 Console

SpringBoot DevTools H2 Console