发生“无法验证新建立的连接”错误。
我用谷歌搜索并阅读了与此错误有关的所有问题。但是没找到解决办法。
我正在使用spring-boot-starter-data-jpa。
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)时才抛出此错误,而并非总是如此。有时它可以正常启动,找到并保存实体而不会出错,但是有时在等待一段时间或成功交易后立即发生。
我怎么解决这个问题?
您的验证查询就是问题所在。虽然SELECT 1没有FROM在作品Postgres,它不是在HSQLDB有效。
SELECT 1
FROM
Postgres
请参阅此答案以获取针对不同数据库的建议验证查询