Неправильный синтаксис рядом с ключевым словом "ключ" - PullRequest
1 голос
/ 30 мая 2020

Я пытаюсь сохранить новый объект в базе данных, но получаю следующую ошибку:

SQL Ошибка: 156, SQLState: S0001

Рядом с неправильным синтаксисом ключевое слово 'key'.

Что я делаю

Bucket bucket = new Bucket();
bucket.setKey(key);
bucket.setValue(value);


entityManager.persist(bucket);

Я считаю, что эта ошибка связана с ключевым словом 'key', используемым в sql утверждения, вызывающие это. Есть ли собственный запрос, который я могу использовать для вставки строк в мою таблицу?

В моей таблице есть эти три столбца с автоматически сгенерированным идентификатором.

Bucket:

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

1 Ответ

0 голосов
/ 31 мая 2020

Спасибо Мартину Смиту за помощь. Всего одно простое изменение, и проблема была решена.

Bucket:

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

...