Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关键字';键';_Java_Spring Boot_Jpa - Fatal编程技术网

Java 关键字';键';

Java 关键字';键';,java,spring-boot,jpa,Java,Spring Boot,Jpa,我正在尝试将新对象持久化到数据库中,但出现以下错误: SQL错误:156,SQLState:S0001 关键字“key”附近的语法不正确 我在做什么 Bucket bucket = new Bucket(); bucket.setKey(key); bucket.setValue(value); entityManager.persist(bucket); 我相信这个错误是由于sql语句中使用了关键字“key”导致的。是否有本机查询可用于将行插入表中 我的表有这三列,Id是自动生成的 桶

我正在尝试将新对象持久化到数据库中,但出现以下错误:

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;
} 

@Entity
@Getter
@Setter
@ToString
public class Bucket {

    @Id @GeneratedValue(strategy= GenerationType.IDENTITY)
    private long id; //auto allocation of PK
    @Column(name = "\"key\"")
    private String key;
    @Column(name = "\"value\"")
    private String value;
} 


谢谢马丁·史密斯的帮助。只要一个简单的改变,问题就解决了

桶:

@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;
} 

@Entity
@Getter
@Setter
@ToString
public class Bucket {

    @Id @GeneratedValue(strategy= GenerationType.IDENTITY)
    private long id; //auto allocation of PK
    @Column(name = "\"key\"")
    private String key;
    @Column(name = "\"value\"")
    private String value;
} 


谢谢马丁·史密斯的帮助。只要一个简单的改变,问题就解决了

桶:

@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;
} 

@Entity
@Getter
@Setter
@ToString
public class Bucket {

    @Id @GeneratedValue(strategy= GenerationType.IDENTITY)
    private long id; //auto allocation of PK
    @Column(name = "\"key\"")
    private String key;
    @Column(name = "\"value\"")
    private String value;
} 


变量名可能是导致问题的原因。你在使用哪个数据库?我在使用MSSQL。我将尝试转义关键字。变量名可能是导致问题的原因。你在使用哪个数据库?我在使用MSSQL。我将尝试避开关键字。