考虑一个包含3个字段的Transport表:Engine Wheels Wings
如果Engine和Wheels为非null且Wings为null,那么我希望将其映射到Vehicle类 如果Engine和Wings为非null且Wheels为null,那么我希望将其映射到Plane类
我一直在阅读有关区分子类的鉴别器,但在我读过的任何一个例子中,它们总是引用一个鉴别器值。因此,我想知道如何处理上述情况? 我只是实现单独的映射吗?我希望找到一个更简洁的方式。
由于
修改
刚刚查看了参考指南,并注意到null和not-null是有效值。所以这看起来像是解决了我的问题。将这个开放一段时间确认。谢谢!
答案 0 :(得分:1)
您可以为Plane和Vehicle类创建一个抽象父类,并使用@DiscriminatorFormula
来编写一个公式,该公式生成一个值,以后可以将其注释为Plane的@DiscriminatorValue
和车辆子类。
在Hibernate文档中看一下这个例子(虽然这个例子使用XML进行映射,但它与注释基本相同):