При связи многие-ко-многим создается лишняя таблица
Я настроил связь многие-ко-многим между двумя сущностями и получил в базе одну таблицу связи modification_group и мусорную таблицу modification_groups с похожим названием.
@Entity
@Data
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
public class Modification {
@Id
@EqualsAndHashCode.Include
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@ManyToMany(cascade = { CascadeType.ALL })
@JoinTable(name = "modification_group",
joinColumns = @JoinColumn(name = "modification_id"),
inverseJoinColumns = @JoinColumn(name = "group_id"))
private Set<GroupProducts> groupProducts;
}
В классе GroupProducts есть такое поле:
@ManyToMany(mappedBy = "groupProducts")
private List<Modification> modifications;
Почему так получилось? Откуда вторая таблица? В ней, кстати, не два, а три поля: modification_id, group_id и groups_id.