我有一个实体,它有一个 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。
有什么解决办法吗?
最佳答案
改用 H2。
关于java - HSQLDB 和 SequenceGenerator 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2681425/