请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,我有个问题

老师,我遇见一个问题。之前课程貌似没有讲过这种情况。我现在有一个promotion实体,promotion实体有一个College类型的college属性,我在promotion实体对college属性做单向的一对一关系。这样promotion实体就有一个外键id指向了college实体,college实体没有与promotion实体做关联关系。但是现在的问题是,当我对promotion实体插入重复的college数据,就会出现唯一约束的错误,typeORM在为promotion表创建college外键会自动加上唯一约束。但是我的需求场景就是希望关系是单边的。否则关联属性很多,实体之间查询性能会很差。

正在回答 回答被采纳积分+3

2回答

Brian 2023-08-15 20:00:52

那就不存在p表对应college的一对一的关系,你就不用这么创建关系,手动写入,不使用oneToone这种装饰器

0 回复 有任何疑惑可以回复我~
  • 提问者 城北丶 #1
    手动写入什么意思?我需要在promotion中具备college这个实体的属性。这样好做映射
    回复 有任何疑惑可以回复我~ 2023-08-15 20:06:12
  • Brian 回复 提问者 城北丶 #2
    不依赖orm库,自己来维护1对1的关系
    回复 有任何疑惑可以回复我~ 2023-08-16 18:23:04
  • 提问者 城北丶 回复 Brian #3
    我现在用了一种办法,在Promotion实体对college属性增加ManyToOne多对一关系,设置createForeignKeyConstraints:false,这样College实体就不需要添加promotion属性做关联。在我查询Promotion实体的时候就可以关联查询College实体并把结果映射到promotion.college中。另外这样做当我向Promotion实体插入多条数据相同的college也是没问题的。因为没有建立唯一外键关系。这样做可以吗?
    回复 有任何疑惑可以回复我~ 2023-08-16 18:27:30
Brian 2023-08-15 19:56:36

你是希望插入重复数据到college?

0 回复 有任何疑惑可以回复我~
  • 提问者 城北丶 #1
    是的。在promotion实体下有college,College实体下不做任何关联。我只想在promotion表做外键
    回复 有任何疑惑可以回复我~ 2023-08-15 19:59:21
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信