HSQLDB 和 SequenceGenerator 的问题

Posted

技术标签:

【中文标题】HSQLDB 和 SequenceGenerator 的问题【英文标题】:Problem with HSQLDB & SequenceGenerator 【发布时间】:2010-04-21 08:46:39 【问题描述】:

我有一个具有 ID 字段的实体:

@Id
@Column(name = "`U##ID_VOIE`")
@GeneratedValue(generator = "VOIE_SEQ")
private String id;

该类还定义了序列生成器:

@SequenceGenerator(name = "VOIE_SEQ", sequenceName = "VOIE_SEQ")

并且 Oracle 模式具有必要的序列。一切正常。


我们也有测试,它使用内存中的 HSQLDB。在运行测试之前,所有的表都是基于 Hibernate 实体类创建的。

但是没有创建这个特定类的表。并弹出错误,因为 ID 是一个字符串,而 HSQLDB 中的 SequenceGenerator 返回一个 INT / LONG / Numeric 值。

应用程序正在使用旧版 Oracle 数据库,并且 ID_VOIE 列必须保持为 String / Varchar。

有什么解决办法吗?

【问题讨论】:

【参考方案1】:

改用 H2。

【讨论】:

以上是关于HSQLDB 和 SequenceGenerator 的问题的主要内容,如果未能解决你的问题,请参考以下文章

HSQLDB 和唯一约束

HSQLDB 和内存文件

HSQLDB:内存表和数据丢失

HSQLDB .script 文件

使用 hsqldb 和 java 连接到远程 CSV

HSQLDB 语句和 Java NaN 双打