小编典典

未能验证新建立的连接

spring-boot

发生“无法验证新建立的连接”错误。

我用谷歌搜索并阅读了与此错误有关的所有问题。但是没找到解决办法。

我正在使用spring-boot-starter-data-jpa

与Postgresql一起使用时不会出现任何错误。但是我要使用嵌入式数据库!!!

application.properties

#We don't need JMX here - disabling it allows for faster startup
spring.jmx.enabled=false
spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create-drop

spring.datasource.driver-class-name=org.hsqldb.jdbcDriver
spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect
spring.datasource.url=jdbc:hsqldb:file:${user.home}/db/data;user=sa;password=123;
spring.datasource.username=sa
spring.datasource.password=123

MainApplication 类的标题:

@ComponentScan(value = {"db", "app", "ui"})
@EnableJpaRepositories(basePackages = "db")
@EntityScan(basePackages = "db")
@EnableTransactionManagement
@SpringBootApplication

仅当我使用嵌入式数据库(至少是Derby,HSQLDB)时才抛出此错误,而并非总是如此。有时它可以正常启动,找到并保存实体而不会出错,但是有时在等待一段时间或成功交易后立即发生。

我怎么解决这个问题?


阅读 280

收藏
2020-05-30

共1个答案

小编典典

您的验证查询就是问题所在。虽然SELECT 1没有FROM在作品Postgres,它不是在HSQLDB有效。

请参阅此答案以获取针对不同数据库的建议验证查询

2020-05-30