【发布时间】:2019-02-13 04:59:51
【问题描述】:
我刚刚将休眠环境添加到我的 Spring Boot 项目中。
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
<version>${hibernate.version}</version>
</dependency>
这是我的实体:
@Audited
@Entity
public class MyTable {
...
}
flyway迁移脚本创建对应的表:
CREATE TABLE MY_TABLE_AUD (
ID BIGINT NOT NULL,
REV INTEGER NOT NULL,
REVTYPE TINYINT,
PRIMARY KEY ( id, REV )
);
create table REVINFO (
REV INTEGER GENERATED BY DEFAULT AS IDENTITY,
REVTSTMP BIGINT,
PRIMARY KEY ( REV )
);
alter table MY_TABLE_AUD
add constraint FK5ecvi1a0ykunrriib7j28vpdj
foreign key (REV)
references REVINFO;
当我尝试将实体保存到 MY_TABLE 时,我收到以下错误:
Syntax error in SQL statement "SELECT HIBERNATE_SEQUENCE.NEXTVAL FROM[*] DUAL "; expected "identifier"; SQL statement:
select hibernate_sequence.nextval from dual [42001-197]
该错误似乎与应该生成REV 值的序列有关。
【问题讨论】:
-
这里使用的是什么数据库和方言?
标签: sql hibernate spring-boot hibernate-envers