0
我正在使用HSQL數據庫來測試spring hibernate項目並最近引入了標識字段。hibernate hsqldb標識列未能插入新字段
的Java類看起來像(片段):
@Entity
@Table(name = "my_table")
public class MyTable {
@Column(name = "sequence_number")
@Id
@GeneratedValue
private Long sequenceNumber;
}
我的SQL腳本生成的表如下(摘錄)給出:
CREATE TABLE my_table (
"sequence_number" BIGINT GENERATED BY DEFAULT AS IDENTITY,
PRIMARY KEY("sequence_number")
);
當我嘗試向數據庫添加值sql(通過show_sql)是:
insert into my_table (sequence_number) values (default)
我得到一個exeption堆棧跟蹤與關鍵指標:
org.hibernate.exception.SQLGrammarException: could not prepare statement
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: SEQUENCE_NUMBER
我懷疑是HSQLDB不喜歡default
SQL關鍵字,並希望看到null
代替。無論如何,通過休眠來獲得這種行爲?
否則,有沒有辦法讓這段代碼工作?
我使用hibernate 4.2.8和HSQLDb 2.3.2。