【发布时间】:2021-08-15 07:44:54
【问题描述】:
我将 TypeOrm 与 Postgres 一起使用。我有以下实体(缩小)
class A {
@OneToMany()
b:B
@OneToMany()
c:C
}
class B {
@ManyToOne()
a: A
}
class C {
@OneToMany()
d: D
@OneToMany()
e: E
@ManyToOne()
a: A
}
class D {
@ManyToOne()
c: C
}
class E {
@ManyToOne()
c: C
}
当我尝试使用添加到集合 c 中的新项目来更新实体 A 时,它工作正常并且外键正在正确更新。但是,当我在更新字段 c、d 后再次尝试更新同一个实体时,我可以看到实体 C、D 的外键设置为空。我可以看到有 2 组更新语句被触发。第一个正确设置外键,第二个将键设置为空。而实体 B 并没有发生这种情况。所有 oneToMany 关系都有 { cascade: true, eager: true, onUpdate: "CASCADE", onDelete: "CASCADE" }。解决此问题的任何帮助都会有所帮助
【问题讨论】:
标签: typeorm typeorm-datamapper node.js-typeorm