Приведение к конкретному классу в HQL - PullRequest
4 голосов
/ 11 января 2011

Моя ситуация выглядит следующим образом .. (примечание: для тех, кто работает с JBPM, возможно, уже знакомы со следующими структурами данных и отображением HB)

Класс LongInstance расширяется от VariableInstance, с отображением для поля "значение"переопределено в LongInstance.Отображение для VariableInstance здесь и для LongInstance здесь .

VariableInstance полиморфно сопоставляется с коллекцией в TokenVariableMap, отображение здесь .

Вопрос: как я могу запросить полиморфную коллекцию, используя специфическое / переопределенное свойство класса члена?

Я ищу что-то вроде этого "... из TokenVariableMaps tvm левое соединение, выборка tvm.variableInstances tvi, где приведение (tvi как LongInstance) .value in (: vars)"

Ответы [ 2 ]

1 голос
/ 11 января 2011

HQL поддерживает дискриминатор времени выполнения:

select c from AnyClass where c.class = com.pack.SubClass

1 голос
/ 11 января 2011

Почему бы и нет:

.. from TokenVariableMaps tvm, LongInstance li 
where tvm.variableInstances = li 
and ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...