Привет, мне нужны некоторые рекомендации и помощь по MariaDB с Hibernate, у меня есть много-много сопоставлений между двумя разными таблицами, но при запуске сервера Hibernate генерирует первичный ключ вместо уникального ключа, не знаете почему? есть ли проблема диалекта? Сущность такая.
@ManyToMany(fetch = FetchType.LAZY,cascade=CascadeType.REFRESH)
@JoinTable(name = "step_childpage",
joinColumns = @JoinColumn(name = "step_id"),
inverseJoinColumns = @JoinColumn(name = "childpage_id"),
uniqueConstraints= {@UniqueConstraint(name="UK_step_childpage",columnNames= {"childpage_id","step_id"})},
foreignKey=@ForeignKey(name="FK_step_childpage_step_id"),
inverseForeignKey=@ForeignKey(name="FK_step_childpage_page_id")
)
public Set<BotPage> getChildPages() {
return childPages;
}
public void setChildPages(Set<BotPage> childPages) {
this.childPages = childPages;
}
и хотя я вручную написал изменения в спящем режиме таблицы при запуске сервера.
модифицированная таблица выглядит следующим образом.
CREATE TABLE `page_childstep` (
`page_id` BIGINT(20) NOT NULL,
`childstep_id` BIGINT(20) NOT NULL,
PRIMARY KEY (`childstep_id`, `page_id`),
INDEX `FK_page_childstep_page_id` (`page_id`),
CONSTRAINT `FK_page_childstep_page_id` FOREIGN KEY (`page_id`) REFERENCES `page` (`id`),
CONSTRAINT `FK_page_childstep_step_id` FOREIGN KEY (`childstep_id`) REFERENCES `teststep` (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB