我有一个超类类型的 ReadAllQuery,需要通过仅存在于一个子类上的属性进行过滤。我正在使用单表继承,因此该属性适用于数据库中的所有子类对象行,但它仅映射到代码中的一个子类域对象。但是,当我尝试此查询时,Eclipselink (2.4.0) 给了我一个异常:无效的查询键 [subclassAttribute]。
作为参考,我要生成的 sql 如下所示:
SELECT *
FROM superclass
WHERE
(subclass_discriminator = 'A' AND attribute_a = 1)
OR
(subclass_discriminator = 'B' AND attribute_b = 1)