【发布时间】:2020-05-30 12:56:30
【问题描述】:
我正在尝试将一个新对象持久化到数据库中,但出现此错误:
SQL 错误:156,SQLState:S0001
关键字“key”附近的语法不正确。
我在做什么
Bucket bucket = new Bucket();
bucket.setKey(key);
bucket.setValue(value);
entityManager.persist(bucket);
我相信这个错误是由于在 sql 语句中使用了关键字“key”导致的。是否有可用于在表中插入行的本机查询?
我的表有这三列,ID 是自动生成的。
桶:
@Entity
@Getter
@Setter
@ToString
public class Bucket {
@Id @GeneratedValue(strategy= GenerationType.IDENTITY)
private long id; //auto allocation of PK
private String key;
private String value;
}
【问题讨论】:
-
变量名可能会导致问题。您使用的是哪个数据库?
-
我正在使用 MSSQL。我会尝试转义关键字。
标签: java spring-boot jpa