我正在为Web应用开发a minimal reactive entity store,并试图弄清楚如何对实体进行建模,以使它们可以在客户端具有一对一,一对多等关系,但同时时间在思考是否有一种方法可以使该实体仅具有对其他实体的JPA like引用。
例如,假设我们有一个鼓掌的帖子,这些鼓掌具有一对一的关系。我们可以这样设计一个帖子:
class Post {
clapIDs: [3423df324, 32423sdr23, 324324]
claps: [{..}, {..}, {..}, {..}]
}
帖子clapIDs
属性包含唯一标识帖子鼓掌的ID。 claps
数组包含拍手的实例。
因此,总的来说,我们并不真正在乎或不想管理clapIDs
属性。理想情况下,它将被隐藏,我们将使用claps
之类的注释来注释@Column(clap_ids)
属性。
这样,当我们保存实体时,可以首先使用clap_ids
属性将其代理到某些内容中,然后使用REST请求通过电线将其发送出去。
我看过TypeORM,但这似乎是针对服务器端的,我正在寻找一种在客户端可用的轻量级的东西。
帖子上的claps
参考类型可以是:
type ClapsType = Claps[] | Claps['id'][];
然后在Post上有
class Post {
claps: ClapsType;
}
然后,客户可以要求商店解析/取消解析具有相应实体的属性。