sho*_*uck 5 hsqldb maven spring-boot
我的环境是HSQLDB、Maven和spring-boot。我创建了 2 个实体 POJO。我确实看到文件CREATE TABLE
下的命令testedb.log
。但是当我Data Source Explorer
在 Eclipse 中打开时,我看不到我的表,尽管我确实看到了所有系统表。
我也看过这个问题,但没有用:Where can I see the HSQL database and tables
这是我的部分pom.xml:
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.4.0</version>
<scope>runtime</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这是我的部分 application.properties
:
# DataSource
#spring.datasource.driverClassName=org.hsqldb.jdbc.JDBCDriver
spring.datasource.url=jdbc:hsqldb:file:resources/db/testedb;DATABASE_TO_UPPER=false
#spring.datasource.url=jdbc:hsqldb:mem:memTestdb
spring.datasource.username=sa
spring.datasource.password=
# Hibernate
spring.jpa.show-sql=true
#spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.hibernate.ddl-auto=create
Run Code Online (Sandbox Code Playgroud)
下面是我在磁盘上创建的 HSQLDB:
我工作区中的 HSQLDB 文件夹
这是我的 部分 testedb.script
:
SET FILES LOG SIZE 50
CREATE USER SA PASSWORD DIGEST 'd41d8cd98f00b204e9800998ecf8427e'
ALTER USER SA SET LOCAL TRUE
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
SET SCHEMA PUBLIC
CREATE SEQUENCE PUBLIC.HIBERNATE_SEQUENCE AS INTEGER START WITH 1
CREATE MEMORY TABLE PUBLIC.ENQUIRY_HISTORY(ID BIGINT NOT NULL PRIMARY KEY,FROM_AMOUNT DOUBLE NOT NULL,FROM_CURRENCY VARCHAR(255) NOT NULL,QUERY_DATE TIMESTAMP NOT NULL,TO_AMOUNT DOUBLE NOT NULL,TO_CURRENCY VARCHAR(255) NOT NULL,USER_ID BIGINT NOT NULL,VERSION INTEGER NOT NULL)
CREATE MEMORY TABLE PUBLIC.USERS(ID BIGINT NOT NULL PRIMARY KEY,EMAIL VARCHAR(255) NOT NULL,LAST_LOGIN TIMESTAMP NOT NULL,PASSWORD VARCHAR(255) NOT NULL,VERSION VARCHAR(255) NOT NULL)
ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1
ALTER SEQUENCE PUBLIC.HIBERNATE_SEQUENCE RESTART WITH 1
SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC
Run Code Online (Sandbox Code Playgroud)
请参阅上面CREATE TABLE
包含单词MEMORY即使我已经创建了文件DB。
并通过testsdb.log
:
/*C12*/SET SCHEMA PUBLIC
drop table enquiry_history if exists
drop table users if exists
drop sequence hibernate_sequence if exists
create sequence hibernate_sequence start with 1 increment by 1
create table enquiry_history (id bigint not null, from_amount float not null, from_currency varchar(255) not null, query_date timestamp not null, to_amount float not null, to_currency varchar(255) not null, user_id bigint not null, version integer not null, primary key (id))
create table users (id bigint not null, email varchar(255) not null, last_login timestamp not null, password varchar(255) not null, version varchar(255) not null, primary key (id))
/*C14*/SET SCHEMA PUBLIC
DISCONNECT
/*C17*/SET SCHEMA PUBLIC
Run Code Online (Sandbox Code Playgroud)
最后这是我的数据库数据源资源管理器的屏幕截图
任何指针都会很棒,感谢您的时间。
我能够看到在构建 HSQLDB 界面中使用的表,现在是一个奇特的界面,但它仍然对我有用。我使用了以下内容[在此答案中列出/sf/answers/2466809901/]
java -cp /path/to/hsqldb.jar org.hsqldb.util.DatabaseManager
Run Code Online (Sandbox Code Playgroud)
然后指定数据库路径:
jdbc:hsqldb:file:mydb
Run Code Online (Sandbox Code Playgroud)
我还有一件事做错了;这是数据库的路径。正确的路径位于spring.datasource.url=jdbc:hsqldb:file:src/main/resources/db/userx;DATABASE_TO_UPPER=false
application.properties 中。
归档时间: |
|
查看次数: |
1475 次 |
最近记录: |