我当前正在创建一个多态查询,该查询需要从子类中获取值。
假设我们有一个包含2个子类的b类:
class XClass extends b { }
class YClass extends b { }
运行此查询时:
SELECT new Entity(coalesce(XClass.field.id, YClass.field.id, 0L))
FROM a
LEFT OUTER JOIN a.b x
LEFT OUTER JOIN a.b y
WHERE TYPE(x) = XClass OR TYPE(y) = YClass
即使数据库中有数据,我也总是得到0L的结果。
我尝试仅使用一个外部联接简化查询和测试,但是得到了相同的结果。