Ошибка выполнения DDL "создать таблицу в Spring Data JPA? - PullRequest
1 голос
/ 17 января 2020

Я хочу сохранить некоторые данные из запроса. для этого я создал несколько классов сущностей. но почему я выбрал это исключение?

Error executing DDL "create table body_datum (body_datum_id integer not null, key varchar(255), value varchar(255), value_type varchar(255), primary key (body_datum_id)) engine=InnoDB" via 

Вот мои свойства.

spring.datasource.url= jdbc:mysql://localhost:3306/loadtestdb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=create

Вот мои классы моделей.

@Data
@Entity
public class BodyDatum {

    @Id
    @GeneratedValue
    private Integer bodyDatumId;

    private String key;

    private String value;

    private String valueType;
}

Класс продукта, подобный этому

@Data
@Entity
public class Product {

    @Id
    @GeneratedValue(strategy= GenerationType.AUTO)
    private Long pId;
    private String productName;
    private int pQty;
    private int price;

    @ManyToOne
    @JoinColumn(name = "customer_id")
    private Customer customer;
}

В базе данных создана таблица Product.

Почему возникает такая ошибка?

Спасибо.

1 Ответ

1 голос
/ 17 января 2020

Я думаю, что атрибут "ключ" является зарезервированным словом для SQL. Переименуйте свой атрибут так:

@Data
@Entity
public class BodyDatum {

    @Id
    @GeneratedValue
    private Integer bodyDatumId;

    private String bodyDatumkey;

    private String value;

    private String valueType;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...