如何在嵌入式模式下自动创建 hsqldb

Posted

技术标签:

【中文标题】如何在嵌入式模式下自动创建 hsqldb【英文标题】:How to automatically create a hsqldb in embedded mode 【发布时间】:2013-08-27 20:38:47 【问题描述】:

我目前正在使用 hibernate +hsqldb 开发一个 java 桌面应用程序 已经在嵌入式模式下创建了一个 hsqldb 数据库,我的休眠配置文件如下

<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="hibernate.connection.url">jdbc:hsqldb:file:C:\Users\Desktop\project1\okbadb</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</property>
<event type="create">
</event>

  <properties>
      <property name="hibernate.hbm2ddl.auto" value="update"/>
  </properties>
  </session-factory>

connection url 是本地的,取决于我的机器 我的问题是每次安装我的应用程序时如何创建一个新数据库(在不同的机器上) 以及如何为此目的使用 sql 脚本?

【问题讨论】:

【参考方案1】:

每次程序在不同的机器上运行时,数据库都会在您使用的绝对路径中创建。

您可以使用相对路径开头的~ 在用户主目录的子目录中创建数据库。例如jdbc:hsqldb:file:~\project1\okbadb

如果数据库不存在,HSQLDB 会创建一个数据库。因此没有单独的命令来创建数据库。

【讨论】:

以上是关于如何在嵌入式模式下自动创建 hsqldb的主要内容,如果未能解决你的问题,请参考以下文章

hsqldb 模式创建

HSQLDB整型key自动递增

如何自动创建设备节点

TypeORM - 如何在生产模式下创建新表并自动运行迁移?

如何在 HsqlDB 上将 MEMORY 表转换为 CACHED 表?

HSQLDB - DELETE 后自动执行 CHECKPOINT