H2DB 文件中的表不会出现在 IDEA 中,但会显示在 H2 控制台中
Posted
技术标签:
【中文标题】H2DB 文件中的表不会出现在 IDEA 中,但会显示在 H2 控制台中【英文标题】:Tables from H2DB file doesn't appear in IDEA, but shows in H2 console 【发布时间】:2020-06-21 19:10:10 【问题描述】:我有一些简单的 Spring Boot 项目,其中 H2db 文件的位置为 ./dbs/database.mv.db(来自我项目目录的 ./)。 application.properties 是:
spring.datasource.url=jdbc:h2:./dbs/database;AUTO_SERVER=TRUE
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update
# Enabling H2 Console
spring.h2.console.enabled=true
# Custom H2 Console URL
spring.h2.console.path=/h2
所以,Spring Boot App 得到了它,并且可以使用其中的表进行操作,将数据存储在 DB 文件中。 localhost:8080/h2 的控制台也显示它。但我对 IDEA 有疑问:IDEA 仅通过绝对名称获得连接(带有 url jdbc:h2:~/Documents/projects/java/seccomp/dbs/database;AUTO_SERVER=TRUE 的嵌入式源)。但在这种情况下,IDEA 根本没有显示任何表格。我很困惑,可能 App 在目标目录中创建了一些表?不,如果我从 .dbs/ 中删除了我的 mv.db 文件,它将在从 Application 处理数据后再次创建。
为什么 Application 和 H2 Console 向我显示表格,但 IDEA 不显示?
【问题讨论】:
【参考方案1】:使用./dbs/database;AUTO_SERVER=TRUE
,您可以指定数据库文件的路径,该文件相对于运行程序的当前工作目录进行解析。使用~/Documents/projects/java/seccomp/dbs/database
- 您相对于您的用户主页指定它。确保在这两种情况下您实际上指定了相同的路径。
【讨论】:
以上是关于H2DB 文件中的表不会出现在 IDEA 中,但会显示在 H2 控制台中的主要内容,如果未能解决你的问题,请参考以下文章
分段错误不会出现在 Visual Studio 中,但会出现在学校服务器中
将 "\n" 添加到 Java String 时,换行符不会出现在 JSP 中,但会出现在标准输入中