HSQLDB & Hibernate:如何自动创建数据库一次

Posted

技术标签:

【中文标题】HSQLDB & Hibernate:如何自动创建数据库一次【英文标题】:HSQLDB & Hibernate: how to auto create database once 【发布时间】:2012-02-07 05:50:36 【问题描述】:

我有一个应用程序需要存储一些数据,但不需要那么多。只是一些用户的喜好。 HSQLDB 适合这个目的,因为它提供了快速访问,而且因为我在 Jboss 上它已经在那里了

问题是,如果我使用 hibernate.hbm2ddl.auto create,如果服务器重新启动或类似情况,它将破坏之前的内容。

可以做点什么吗?还是我应该告诉客户像往常一样安装数据库并运行脚本?

【问题讨论】:

【参考方案1】:

在我看来,最好有脚本。自动生成是更多开发时间的玩具。如果不需要 DBA 影响脚本,您还可以在部署过程中自动运行脚本。

如果你想使用 hibernate.hbm2ddl.auto,那么使用的选项是 update,它会在第一次运行时创建丢失的表(在你的情况下是所有表),并且不做任何更改稍后运行,因为数据库架构已经是最新的。

【讨论】:

谢谢,我对这一切的兴趣在于我真的很喜欢 HSQLDB 的进程内模式,您对使用脚本但在服务器模式下使用 HSQLDB 有何看法?信息不多,只是为了防止用户重新输入一些配置内容

以上是关于HSQLDB & Hibernate:如何自动创建数据库一次的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Hibernate 加载 HSQLDB 脚本

如何为 Hibernate 设置 HSQLDB?

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

org.hibernate.LazyInitializationException:无法初始化代理 - 没有会话。 Spring + Hibernate + HSQLDB

Hibernate更新HSQLDB数据库的问题

Hibernate 看不到 HSQLDB 中创建的表