我可能错过了一些核心概念(Spring、Spring Boot、H2、HSQLDB、Derby、IntelliJ)或者已经盯着这个问题看太久了。我正在进行一个Spring Boot项目。我首先尝试使用和初始化H2数据库,尝试在IntelliJ中连接它,但发现我可能无法轻松浏览数据库而不放弃我的第一个孩子 (Connect to H2 database using IntelliJ database client)。
所以我转向DerbyDB。同样的问题-在我的应用程序中创建了db根文件夹,在IntelliJ中连接到它,但是我刚刚从启动应用程序创建的表无法浏览。
我甚至尝试了SQLite,但对SQLite的支持并不好,并且某些更新功能不可用,但是我至少可以在IntelliJ浏览器中找到我的表!
我只想要一个简单的单文件嵌入式数据库,可以轻松地使用、浏览和操作。有什么建议吗?!
当我运行应用程序时,我发现模式已被导出:
2015-07-19 09:37:45.836 INFO 98608 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000227: Running hbm2ddl schema export
Hibernate: drop table user_roles if exists
Hibernate: drop table users if exists
Hibernate: create table user_roles (id bigint generated by default as identity, role_name varchar(255), version bigint, user_id bigint, primary key (id))
Hibernate: create table users (id bigint generated by default as identity, email varchar(255), password varchar(255), username varchar(255), version bigint, primary key (id))
Hibernate: alter table user_roles add constraint FK_g1uebn6mqk9qiaw45vnacmyo2 foreign key (user_id) references users
2015-07-19 09:37:45.849 INFO 98608 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000230: Schema export complete
在IntelliJ中,按照heenenee的建议使用远程源jdbc:h2:./test;AUTO_SERVER=TRUE时,没有任何问题:有一些人投票关闭此问题,因为不清楚我的问题所在:
我如何使用H2、HSQLDB或Derby数据库开发应用程序,并使用IntelliJ连接到它们?
./test
作为路径将会创建两个数据库:一个在您的Spring Boot项目工作目录中,另一个在IntelliJ的工作目录中(或者附近)。在两个地方都使用~/test
,这样两个URL指向文件系统上的同一位置。 - heenenee