Hibernate не создал одну из таблиц - PullRequest
0 голосов
/ 05 февраля 2019

я учу весну ..., я строю простое приложение.У меня проблема, потому что hibernate не хочет генерировать одну из моделей .. Я не знаю, что не так

import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.persistence.*;
import java.io.Serializable;

@Entity
@Table(name="access_card")
public class AccessCard implements Serializable{

    private static final long serialVersionUID = -4015209774835055079L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name="id")
    private Long id;

    @Column(name="key")
    private String key;
    @Column(name="enabled")
    private Boolean enabled;

    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "user_id", nullable = false)
    @JsonIgnore
    private User user;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public Boolean getEnabled() {
        return enabled;
    }

    public void setEnabled(Boolean enabled) {
        this.enabled = enabled;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }
}

Другие классы написаны аналогично, и все работает.Ошибка:

org.hibernate.tool.schema.spi.CommandAcceptanceException: Ошибка при выполнении DDL "создать таблицу access_card (идентификатор bigint не ноль, бит включен, ключ varchar (255), user_id bigint не ноль,первичный ключ (id)) engine = MyISAM "через оператор JDBC

и свойства

spring.jpa.hibernate.ddl-auto = update
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

1 Ответ

0 голосов
/ 05 февраля 2019

Следуйте вашему комментарию, проблема указана здесь

key varchar(255)

Имя таблицы является зарезервированным ключевым словом.

См. https://hibernate.atlassian.net/browse/HHH-4453

Если вы все еще хотите это, решение https://vladmihalcea.com/escape-sql-reserved-keywords-jpa-hibernate/

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