这3种方案都是可行的,但要具体问题具体分析。
如果选择多态映射,一个子类一张表或所有子类映射一张表我想都是可以的,具体可能要根据查询效率,子类数量,存储数据量等情况综合分析。
如果选择组合模式设计domain object(第3种方案),你需要考虑那些相同属性的稳定性,及其查询效率问题。