2010-12-28 4 views
0

Я пытаюсь заставить этот запрос работать, в моей модели Workshop У меня есть поле типа перечисления, где он соединяется с ролями.HQL-запрос с перечислениями

Я бы никогда не использовал HQL для этого, только простые запросы HQL, я знаю, что он действительно мощный и упрощает многие вещи, но всякий раз, когда я пытаюсь создать запрос для соответствия перечисленной роли, он либо бросает сообщение о " разыменования».

модель, соответствующая этот запрос является

  • AccountRoles (перечисление класс)
  • Workshop (аннотированный класс)
  • счета (аннотированный класс)

.

NamedQuery(name="namedOne", 
    query="from Workshop s inner join Account a where a.account_role = :role" 

Я попытался это один запрос, который, вероятно, неправильно, еще одна нравится эта

NamedQuery(name="namedOne", query="from Workshop accounts.account_role = :role" 

поле счетов содержит

@OneToMany(fetch=FetchType.EAGER) 
@JoinTable(name="links_ws2accounts") 
public List<models.ws.Account> accounts = new ArrayList<models.ws.Account>(); 

Любое предложение ценится, если вам нужно немного больше информации дайте мне знать

ответ

1

Вопрос не очень ясен, но я думаю, что запрос должен быть l ook вот так:

from Workshop s inner join s.accounts a where a.account_role = :role 
+0

Это работает человек! Спасибо, у меня возникла проблема с созданием запроса, я подумал, что это просто «идти по дорожкам» без внутреннего соединения (ожидается, что он сделает это автоматически). ура – allenskd

Смежные вопросы