web-dev-qa-db-fra.com

Printemps: persistance de la base de données H2

Mes applications.properties:

spring.datasource.driverClassName=org.h2.Driver
spring.datasource.url=jdbc:h2:./src/main/resources/asnDB;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.user=sa
spring.datasource.password=
spring.h2.console.enabled=true
spring.jpa.hibernate.ddl-auto=create

J'ai un data.sql qui est chargé lorsque je démarre le printemps-projet.

Comment modifier le fichier application.properties pour rendre la base de données persistante?

Pour l'instant, il en fait toujours un nouveau. Cela ne fonctionne pas non plus si je modifie le ddl.auto=create à ddl.auto=update. Je le sais ddl.auto=create écrase ma base de données, mais je ne sais pas comment la rendre persistante.

Dans le data.sql, il y a 3 insert-instructions et lorsque je lance le projet, j'ai déjà 3 insertions dans ma base de données. Ensuite, j'en insère un nouveau via mon interface utilisateur et quitte le projet. Lorsque je relance le projet, il n'y a que les 3 insertions initiales. Mais il devrait y avoir 4 inserts.

16
SteveOhio

Vous manquez la fonction de reconnexion automatique

spring.datasource.url = jdbc: h2: fichier: ~/test2; DB_CLOSE_ON_EXIT = FALSE; AUTO_RECONNECT = TRUE

Pour que par exemple ça marche:

spring.datasource.url=jdbc:h2:file:~/test2;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE
spring.datasource.username=admin
spring.datasource.password=password
spring.datasource.driver-class-name=org.h2.Driver
#spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
20
PowerFlower

la persistance vient de la propriété spring.jpa.hibernate.ddl-auto étant ( mettre à jour au lieu d'être créer

7
Raj