Hibernate hbm2ddl 创建一个table,而不重新创建一个相关的table

Hibernate hbm2ddl to create a table, without recreating a related table

我正在使用 Hibernate。我有两个与多对多映射相关的 table。 tables 是课程和学生。 Course 定义了与 Student 的多对多关系。

@Entity
public class Course {

    @ManyToMany
    public List<StudentData> getStudents() {
        return students;
    }

    public void setStudents(List<StudentData> students) {
        this.students = students;
    }

}

如果我设置 hbm2ddl 属性,我可以创建两个 table。有时,我想重新创建课程 table 而不是重新创建学生 table。

是否可以使用 hbm2ddl 重新创建课程 table 而无需重新创建学生 table?

Hbm2dll 属性 仅支持这些值 - validate | update | create | create-drop.。他们的描述是,

  • 验证:验证架构,不对数据库进行任何更改。
  • 更新:更新架构。
  • create:创建模式,破坏以前的数据。
  • create-drop:在会话结束时删除架构。

因此无法仅重新创建特定的 table。我认为您可以寻找其他方式,例如 Flyway 进行数据库迁移。