Spring JPA не создает таблицу для сущности - PullRequest
0 голосов
/ 14 февраля 2019

В этом проекте у меня есть следующие сущности:

  • Уведомление: сущность для других сущностей уведомлений, наследуемых от
  • Сообщение

Сущностис таким расширением Notification получают свои таблицы, а таблица для сущности Message - нет.

Класс уведомления:

@Data
@Entity
@NoArgsConstructor
@EqualsAndHashCode(of = "id")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class Notification {
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    protected long id;
    // ... attributes
    @OneToMany(mappedBy = "notification")
    protected List<Message> messages;
}

Класс сообщения:

@Data
@Entity
@NoArgsConstructor
@EqualsAndHashCode(of = "id")
public class Message {
    @Id
    @GeneratedValue
    private long id;
    // ... attributes
    @JsonIgnore
    @ManyToOne
    private Notification notification;
    private boolean read;
}

application.yaml

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
  jpa:
    hibernate:
      naming:
        implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyComponentPathImpl
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
      use-new-id-generator-mappings: true

application-dev.yaml - этот профиль активен

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3308/db
    username: dev
    password: dev
  jpa:
    hibernate:
      ddl-auto: create
    show-sql: true
    generate-ddl: true

1 Ответ

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

Может быть read - ключевое слово в mysql.

https://dev.mysql.com/doc/refman/8.0/en/keywords.html

...