2017-04-22 105 views
0

我跑弹簧启动应用程序为什么我无法在H2模式中找到我的表/我如何验证我的Spring启动应用程序使用的是哪个H2模式?

没有比其他行家H2任何设置

当我连接到控制台H2我可以看到,被认为对于要创建的表两个实体

我与JDBC URL连接:JDBC:H2:MEM:TESTDB(这应该是默认值)

有没有一种办法,以确保什么模式是H2当前正在运行/或H2的某些日志文件?

我application.properties

我有这样的:

spring.h2.console.enabled=true 
spring.h2.console.path=/h2 

我读的地方,H2初始化本身在登录,但演示我是看着这些人所采取的具体步骤,所以不知道是这样的话。

这些都是在H @控制台设置:

enter image description here

回答

1

我居然看到了正确的模式一直

我以为我没看到合适的架构是原因 - JPA的实体我希望看到,都没有了。

然后我发现,这是因为我没有这个软件包命名为JPA实体正确

我把它命名为“域”(参见图):

enter image description here

我应该有把它命名为com.example.domain可以看出:

enter image description here

这是因为 - SpringBoot看起来是做一个ComponetScan“下”包与主类,所以我不得不在前面的“域”与主类所在的包的名称 - 其中是com.example

1

可以明确指示春天启动创建和使用如下的配置连接到一个特定的模式在H2。

spring.datasource.url=jdbc:h2:~/test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE 
spring.datasource.driverClassName=org.h2.Driver 
spring.datasource.username=sa 
spring.datasource.password=sa 

这将在文件模式下在h2中创建名称测试数据库的数据源。在你的home文件夹中会有一个名为test.db的文件,它将成为数据库的数据文件。

DB_CLOSE_ON_EXIT属性决定在每次重新启动时重新创建数据库。

+0

谢谢老兄,我'已经尝试过这个结果相同(没有看到实体),无论如何,我已经发现了这个问题 – Dror

相关问题