我对如何为特定的三个实体设计核心数据模型感到困惑 - 特别是它们之间的关系。
“Place”是一个由名称(String)和地址(String)组成的实体。
“Leg”是一个由开始(Place)和End(Place)组成的实体。
“路线”是一个由特定顺序的任意数量的腿(腿)组成的实体。
总之,一条路线由一个有序的腿部列表组成,这些腿部本身只代表两个地方之间的直线。
如何在数据模型中模拟Leg和Place实体之间的关系?每条腿都有两个位置(开始和结束);任何地方都可以与无限数量的腿相关联,无论是作为开始还是结束。
答案 0 :(得分:1)
在 Leg 实体中添加两个关系,一个用于startPlace,另一个用于endPlace,将其类型设为" To One"
在地方实体中添加两个反向关系(legsByStartPlaceInverse和legsByEndPlaceInverse)并将其类型设为&#34; To Many&#34; < /强>
确保删除规则不&#34; Cascade&#34;。