0

我有一个超类类型的 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)
4

1 回答 1

0

JPA 2.0 引入了“TREAT”,允许您使用子类属性访问和过滤http://eclipse.org/eclipselink/documentation/2.4/jpa/extensions/j_treat.htm

于 2013-10-17T01:09:01.993 回答