You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Spring Data JPA创建User表时SQL语法错误及插入失败问题

问题根源

user是H2数据库的保留关键字,你用User作为实体类名时,JPA默认会生成名为user的表,直接使用关键字作为表名触发了SQL语法错误,不管是建表还是插入操作都会失败。

解决步骤

在你的User实体类上添加@Table注解,指定一个非关键字的表名(比如users):

@Entity
@Table(name = "users") // 显式指定表名,避开关键字
@Data
@NoArgsConstructor(access = AccessLevel.PRIVATE, force = true)
@RequiredArgsConstructor
public class User implements UserDetails{
    // 原有代码保持不变
}
验证方式

重启应用后,JPA会自动创建名为users的表,提交注册请求时,插入语句会指向users表,不再触发关键字冲突的语法错误,500问题就能解决。

内容的提问来源于stack exchange,提问作者Pascal Torti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 04:35:02