我有这两个实体:
export class MyEntity {
...
@OneToOne(() => Item, (item) => item.entity)
item: Item:
@ManyToOne(() => User, (user) => user.createdMyEntities)
createdBy: User;
...
}
export class Item {
...
@OneToOne(() => MyEntity, (myEntity) => myEntity.item)
@JoinColumn()
entity: MyEntity;
...
}
我想删除MyEntity
中的一行,但这将给予一个SQLITE_CONSTRAINT: FOREIGN KEY constraint failed
错误。我不想同时删除Item
,我只想删除MyEntity
并删除与它的关系。
我怎么能这么做呢?
2条答案
按热度按时间jmp7cifd1#
删除一对一关系可能会很棘手,因为有时它会给予
Foreign Key
错误,您可以使用多个级联选项来查看是否有任何工作。另一个可行的解决方法是选择()您想要删除的行并基于外键连接,然后对于出现的行,您可以简单地更新这些外键列以删除关系,最后您可以删除所需的行。我附上示例代码供您参考:bogh5gae2#
在@OneTOOne关系定义中,将cascade设置为persistent,并仅合并。