实体之间的关系必须更改,我想知道更改关联映射类型是否正常,以及数据库中已经存在的数据是否会正常传输?我试图查找有关它的信息,但没有找到。或者,如果映射将被更改,则必须通过sql查询手动传输已经存在的数据?感谢
如果关联已经使用了一个联接表,并且多对多的映射一直使用具有相同列名的同一联接表,那么除了删除联接表的一个ci=列上可能存在的唯一性约束之外,您不必做任何事。
否则,是的,很明显,您将不得不使用SQL或任何其他工具(FlywayDB、Liquibase等)迁移您的模式
我可以简单地做到:
设A和B为原始表。A->B(N-1)被移动到A<-AB->B(N-N)。
我不得不-从表A中"删除"外键列,赞成将记录插入AB(由通向A和B的两个外键组成)仅此而已。
- 第一步:用多对多注释替换多对一注释。并且lauch在附加模式下休眠以生成N-N表
- 第二步:在这个N-N表中插入记录,给定1-N关系的剩余外键列中的内容
- 第三步:删除此外键列