PropertyNotFoundException: невозможно найти свойство - PullRequest
0 голосов
/ 21 марта 2019

У меня есть следующее namedQuery:

SELECT sr.*
FROM Sr sr
INNER JOIN sr.unitBinds srUnitBind
INNER JOIN srUnitBind.unit su
INNER JOIN sr.provBinds srProvBind
INNER JOIN srProvBind.prov prov
INNER JOIN prov.provActs provActs
LEFT JOIN provActs.ranges rngs
INNER JOIN rngs.value rngsValue
INNER JOIN rngsValue.value rngsValueCSV
INNER JOIN rngsValueCSV.ce rngsCe
AND rngsCe.code = :priority

Где "rngsValue.value" - это сущность, представленная классом Abstract.Этот класс расширен многими классами, и я хочу присоединиться только к одному из них.С namedQuery в этой форме у меня есть эта ошибка:

org.hibernate.PropertyNotFoundException: Невозможно найти свойство с именем ce

Поскольку Hibernate пытается объединить всеклассы, расширяющие этот абстрактный класс, и не только один, который меня интересует, и не все классы содержат поле "ce".Как я могу решить?

1 Ответ

0 голосов
/ 21 марта 2019

Для понижения рейтинга использовать функцию JPQL treat()

JOIN TREAT(rngsValueCSV AS SubClass) s
JOIN s.ce rngsCe
...