2013-10-14 52 views
0

我有一個超類類型的ReadAllQuery,需要通過只存在於一個子類上的屬性進行過濾。我使用單表繼承,所以DB的所有子類對象行的屬性都存在,但它只映射到代碼中的一個子類域對象。但是,當我嘗試這個查詢Eclipselink(2.4.0)給了我一個例外:無效的查詢鍵[subclassAttribute]。Eclipse鏈接:如何通過子類屬性篩選超類查詢

作參考SQL我想生成應該是這樣的:

SELECT * 
FROM superclass 
WHERE 
    (subclass_discriminator = 'A' AND attribute_a = 1) 
    OR 
    (subclass_discriminator = 'B' AND attribute_b = 1) 

回答