我该如何使用h2database配置spring-boot,以便每次重新启动时都能重用数据库。
这是我的application.properties文件中仅有的一行
spring.jpa.database-platform = org.hibernate.dialect.H2Dialect
最佳答案
您必须为spring.datasource.url
指定一个值,该值指定一个文件系统DB。您可以使用jdbc:h2:file:
前缀来实现。
例如,您可以使用此配置将数据库存储在mydb.mv.db
目录的db
文件夹中的home
文件中:
spring.datasource.url = jdbc:h2:file:~/db/mydb
请注意,不需要
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
。运行时位于类路径中的url和H2 JDBC驱动程序就足够了。还请注意,默认情况下,如果您使用嵌入式数据库(H2,HSQL或Derby),则会在启动时自动创建数据库。
即使您在JDBC URL中将文件指定为数据库也是如此。
因此,为了避免在每次Spring Boot启动时重新创建数据库,您还应该添加:
spring.jpa.hibernate.ddl-auto = update
或者
spring.jpa.hibernate.ddl-auto = validate
关于spring-boot - 文件系统中的spring-boot Persistent h2database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47913010/