Hibernate hbm2ddl创建一个表,而无需重新创建相关表

时间:2015-01-03 03:30:39

标签: hibernate

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

@Entity
public class Course {

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

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

}

如果我设置了hbm2ddl属性,我可以创建两个表。有时,我想重新创建Course表而不重新创建Student表。

是否可以使用hbm2ddl重新创建Course表而无需重新创建Student表?

1 个答案:

答案 0 :(得分:0)

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

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

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