Получение синтаксической ошибки MySQL в Spring Boot Application - PullRequest
0 голосов
/ 20 апреля 2020

Я создаю простое приложение для использования Spring Boot с Gradle и пытаюсь подключить его к MySQL на моем компьютере. Когда я запускаю приложение, я получаю следующую ошибку:

java. sql .SQLSyntaxErrorException: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей MySQL версии сервера, для правильного синтаксиса, который будет использоваться рядом с 'load (id целое число не ноль, customer varchar (255), дата datetime не нуль, destin' в строке 1

Сейчас у меня есть только один класс, Load, и вот как он выглядит:

@Entity
public class Load {
    public Load(){}
    @Id
    @GeneratedValue
    private int id;

    @NotBlank(message = "Customer field must not be blank")
    @NotNull
    @Size(max = 100, message = "Customer name too long!")
    private String customer;

    @NotBlank(message = "Destination field must not be blank")
    @NotNull
    @Size(max = 100, message = "Destination name too long!")
    private String destination;

    @NotBlank(message = "Driver field must not be blank")
    @NotNull
    @Size(max = 50, message = "Driver name too long!")
    private String driver;


    @NotNull
    private Date date;

    public Load(String customer, String destination, String driver, Date date) {
        this.customer = customer;
        this.destination = destination;
        this.driver = driver;
        this.date = date;
    }

Я не совсем уверен, в чем проблема с тем, что я создаю в этом классе

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

Вы пытаетесь использовать MySQL зарезервированное ключевое слово Load в качестве имени таблицы, в этом проблема.

Но вы можете использовать зарезервированное ключевое слово также при использовании символа обратной галочки.

@Entity
@javax.persistence.Table(name = "`load`")
public class Load{
   ...
}
0 голосов
/ 20 апреля 2020

LOAD является зарезервированным ключевым словом в MySQL, поэтому сообщение об ошибке указывает на имя load в операторе SQL (загрузка "около") ").

Переименуйте таблицу, указав имя значения с атрибутом name аннотации @Entity, например,

@Entity(name = "customer_load")
public class Load {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...