0

我在 SINGLE_TABLE 继承中有一个父实体Service和一个子ExtendedService

第三个实体ServiceCollector需要同时包含实体 Service 和 ExtendedService。这是一个固定的要求,通过这种设计,我可以使用多态性来实现它。

问题:我经常只需要检索父类服务,所以我通过鉴别器列查询它......我认为这对我的目的来说是一个糟糕的设计,不是吗?

这是一个简单的例子,确实我有很多服务子类,例如一个销售不同产品的商店,每个产品可以有不同的属性。

提前致谢。

4

1 回答 1

1

如果每个 ExtendedService 作为对 Service 查询的响应都无效,那么听起来更像是通过继承而不是多态来进行模板化。一个简单的解决方法是使 Service 抽象,所以你有AbstractService一个空类Service来扩展它并只定义DiscriminatorValue. (然后 ExtendedService 扩展 AbstractService 等)

映射鉴别器列来查询它并不是世界末日,如果其他一切对你来说都很好的话。就我个人而言,我更倾向于“不优雅”而不是“糟糕的设计”,但这只是意见。

于 2010-08-20T23:02:05.793 回答