我有以下对象模型:
Element
一个有很多孩子和后代的顶级抽象类。- 一个班
Event
。 - 每个都
Element
包含一袋Event
s。 - 每个
Event
都有一个指向 parent 的指针Element
。
到目前为止 - 相当标准的一对多关系。
但是,我想根据具体的类策略使用表。因此,该类Element
未映射到数据库。我试图以这种方式解决它:每个具体的后代都Element
定义了自己的 Bag of Event
s。这样做的问题是每个<bag>
元素都包含一个<key>
元素。该关键点指向 的Parent
属性Event
。它还使s 表Parent
中的列成为Event
包含 Bag 的表的外键!但是一列不能是多个表的外键,我在插入时遇到异常。
我还尝试使s 表Parent
中的字段Event
成为多对任意类型的字段。那行得通。但是当我想使关系双向时,意味着将包添加到我的后代中,Element
我又回到了同样的问题。包 => 外键 => 插入异常。
我确信这个案例并不像看起来那么独特。预先感谢您的帮助。