Помогите с переписыванием HQL-запроса (Hibernate Query Language) - PullRequest
0 голосов
/ 19 января 2010

HQL нуб тут.Как мне переписать этот HQL-запрос без использования предложения о существовании.В SQL я могу просто соединить таблицу VisitorProfileField и таблицу Visitor и добавить условия существования, используя AND.

Но в простом HQL я не могу преодолеть некоторые нарушения синтаксиса, я думаю.Ваша помощь очень ценится.

"select distinct v from Visitor v where v.id not in (select o.id from Operator o) " +
      " and exists (select vpf from VisitorProfileField vpf " +
      " where vpf.visitor = v and vpf.profileField.name = :subscription_field " +
      " and vpf.numberVal = :type and vpf.stringVal = :manual) "

1 Ответ

1 голос
/ 20 января 2010

Я не уверен, понял ли я смысл вашего запроса, но думаю что-то вроде:

select distinct vpf.visitor 
from VisitorProfileField vpf 
where vpf.profileField.name = :subscription_field 
      and vpf.numberVal = :type and vpf.stringVal = :manual
      and vpf.visitor.id not in (select o.id from Operator o)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...