Spring H2 Support: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 10: Line 10:


=Overview=
=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=
=Simple Project=
Line 30: Line 32:
To test from command line, add command-line support as specified in [[Console_Application_with_Spring_Boot|Console (command-line) Application with Spring Boot]].
To test from command line, add command-line support as specified in [[Console_Application_with_Spring_Boot|Console (command-line) Application with Spring Boot]].


=Spring Configuration=
To configure IntelliJ IDEA to access the in-memory database see [[IntelliJ_IDEA_H2_Support|IntelliJ IDEA H2 Support]].
 
=<span id='Spring_Configuration'></span>Database Access Configuration=
 
Based on: {{Internal|Spring_Data_JPA#Database_Access_Configuration|Spring Data JPA - Database Access Configuration}}


Add in [[application.properties]] or equivalent:
Add in [[application.properties]] or equivalent:
Line 39: Line 45:
spring.datasource.password=
spring.datasource.password=
spring.datasource.platform=h2
spring.datasource.platform=h2
</syntaxhighlight>
=Database Initialization=
Based on: {{Internal|Spring_Data_JPA#Database_Initialization|Spring Data JPA - Database Initialization}}


<syntaxhighlight lang='text'>
spring.jpa.generate-ddl=true
</syntaxhighlight>
Alternative:
<syntaxhighlight lang='text'>
spring.datasource.initialization-mode=always
spring.datasource.initialization-mode=always
spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.ddl-auto=none

Latest revision as of 18:14, 8 December 2018

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