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 进行数据库迁移。
我正在使用 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 进行数据库迁移。