hibernate - SpringBoot 和 H2 自动生成的字段
问题描述
我在 POJO 上有一个字段
@Id
@Column(name="TAG_ID")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer tagId;
当我使用 H2 作为数据库启动服务时,出现此错误:
Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "CREATE TABLE TAG (TAG_ID NUMBER(10,0) GENERATED AS[*] IDENTITY, etc... PRIMARY KEY (TAG_ID)) "; expected "ALWAYS, BY"; SQL statement:
create table tag (tag_id number(10,0) generated as identity, etc... primary key (tag_id)) [42001-197]
这个expected "ALWAYS, BY"
错误是关于什么的?为什么它不能生成表格?
解决方案
尝试使用@GeneratedValue(strategy=GenerationType.AUTO)
. 也许 H2 不支持身份机制。
推荐阅读
- r - 如何使用 dplyr 旋转复杂的整洁数据框
- nuget - 带有安全更新选项的 nuget 更新的 dotnet cli 等效命令
- azure - 是否有更新代理池元数据的范围?
- python - python在for循环中的特殊情况下递减
- node.js - UnhandledPromiseRejectionWarning:错误 [ERR_HTTP_HEADERS_SENT]:在将标头发送到 ServerResponse.setHeader 的客户端后无法设置标头
- apache - 记录 htaccess 拒绝的 url
- python - 没有这样的元素例外硒
- javascript - Div drop 仅接受 1 个可拖动项目 Js Vanilla
- swift - 从日期开始计算天数 - Swift
- python - 从 php 后端运行 python 脚本