【发布时间】:2020-05-21 13:22:13
【问题描述】:
我是春天的新手。我正在尝试使用 H2 数据库和 JDBC(不是 JPA/Hibernate)。
所以使用 Spring Initializr,当我添加这些依赖项时:
spring-boot-starter-webspring-boot-starter-data-jpah2
并将此属性设置为 true :spring.h2.console.enabled=true
数据库mem:testdb 已创建,我可以连接到它:localhost:8080/h2-console
但是当我将 jpa 依赖项更改为:
spring-boot-starter-data-jdbc
数据库未创建,我收到此错误消息:
Database "mem:testdb" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200] 90149/90149 (Help)
所以我想知道为什么它不能与 JDBC 一起工作,以及你是否知道使它工作的解决方案。
我在网上找到了两篇文章,他们似乎可以使用JDBC创建数据库:
- Integrating Spring Boot and Spring JDBC with H2 and Starter JDBC
- Spring Boot and Spring JDBC With H2
更新:
我尝试在我的个人电脑上在家中做同样的事情,它可以工作......
我不知道为什么它不能在作业计算机上工作,尽管它可以与 JPA 一起工作。
在日志中,它缺少这些行:
com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
o.s.b.a.h2.H2ConsoleAutoConfiguration : H2 console available at '/h2-console'. Database available at 'jdbc:h2:mem:testdb'
更新2:
我找到了解决方案:
正如我所说,我正在使用 Spring Initializr 来引导项目。在job pc上无法使用上一个版本的Spring boot(2.2.4),所以选择了2.1.12
在这个版本中,它适用于 JPA,但不适用于 JDBC...
【问题讨论】:
-
你经过this
标签: java spring hibernate spring-boot jpa