У меня проблема с hibernate, когда я создаю свою таблицу с отношением между ними. Для информации, я использую Wamp, чтобы иметь локальную базу данных с MySql8 и JDK 11.
Проблема в том, что я не могу запустить свое приложение, у меня есть несколько ошибок, связанных с одной и той же таблицей (участник) и к отношениям с другими таблицами.
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "alter table club_members add constraint FKl87dhw3mmmfmbisxifap7qn8h foreign key (member_id) references member (member_id)" via JDBC Statement
Caused by: java.sql.SQLSyntaxErrorException: Erreur de syntaxe près de 'member (member_id)' à la ligne 1
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "alter table board_members add constraint FKlgfi1q7rfglbha01c9vmfnn0v foreign key (member_id) references member (member_id)" via JDBC Statement
Caused by: java.sql.SQLSyntaxErrorException: Erreur de syntaxe près de 'member (member_id)' à la ligne 1
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "alter table board add constraint FK65mnn1bwjxmkqj61c61rladha foreign key (president_id) references member (id)" via JDBC Statement
Это может быть глупый вопрос, но я все еще не могу исправить это с утра, и странно то, что он хорошо работает на моем ноутбуке, который имеет точно та же конфигурация для моей IDE (IntelliJ) и Wamp.
Вот мой член и Правление:
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
public class Board {
@Id
@Column(updatable = false, nullable = false)
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
private UUID id;
private String name;
private Boolean active;
@Column(updatable = false)
private ZonedDateTime creationDate = ZonedDateTime.now();
@ManyToOne
private Member president;
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "board_members", joinColumns = {@JoinColumn(name = "board_id")},
inverseJoinColumns = {@JoinColumn(name = "member_id")})
private List<Member> members;
@OneToMany
private List<Club> clubs;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
public class Member {
@Id
@Column(updatable = false, nullable = false, name = "member_id")
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
private UUID id;
private String lastName;
private String firstName;
private String mail;
@CreationTimestamp
private ZonedDateTime creationDate;
@UpdateTimestamp
private ZonedDateTime updatedDate;
private String promotion;
@ManyToMany(mappedBy = "members")
private List<Association> associations;
@ManyToMany(mappedBy = "members")
private List<Board> boards;
@ManyToMany(mappedBy = "members")
private List<Club> clubs;
}
Что я могу сделать?
РЕДАКТИРОВАТЬ:
Я пытаюсь создать свой член таблицы ТОЛЬКО с идентификатором, но у меня все еще есть ошибка ...
Caused by: java.sql.SQLSyntaxErrorException: Erreur de syntaxe près de 'member (id binary(255) not null, primary key (id)) engine=MyISAM' à la ligne 1
Я также пытаюсь изменить MyISAM на InnoDB, но то же поведение, что здесь не так? Я даже не могу создать таблицу с идентификатором juste.