类型ORM单向多对一关系



我正在创建构成我的数据库架构的实体。 我有一个实体Photo绑定到实体Hashtag多对一关系(每张照片都有一个主题标签,每个主题标签可以属于许多照片(。

为了做到这一点,根据TypeOrm文档,我必须执行以下操作。 在照片实体中:

@ManyToOne(type => HashtagEntity, hashtag => hashtag.Photos)
@JoinColumn({ name: 'HashtagId' })
Hashtag: HashtagEntity;

主题标签实体中:

@OneToMany(type => PhotoEntity, photo => photo.Hashtag)
Photos: PhotoEntity[];

我已经读到所有实体都急切地加载在TypeOrm中。这是否意味着每次查询主题标签时,我都会具体化与之关联的所有照片? 如果是这种情况,那就太糟糕了,因为我只需要从照片中引用主题标签,而不是相反。

我该如何解决这个问题?我应该在Photo实体上使用OneToOne关系还是有办法进行单向ManyToOne

TypeORM 关系不会自动eagerly 加载,除非您在实体定义中另行指定。 为了具体化关系,必须在查询的relations数组中指定外键属性的名称。