HQL: Hibernate запрос с ManyToMany
У меня есть вопрос с HQL-запросом и гибернацией.
У меня есть класс пользователя и класс роли. Пользователь может иметь много ролей. Итак, у меня есть связь с ManyToMany:
В пользовательском классе:
@ManyToMany(fetch = FetchType.LAZY)
@oinTable(name = "PORTAIL_USERROLE", joinColumns = { @JoinColumn(name = "USERID", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "ROLE", nullable = false, updatable = false) })
public Set<Portailrole> getPortailroles() {
return this.portailroles;
}
В ролевом классе:
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "PORTAIL_USERROLE", joinColumns = { @JoinColumn(name = "ROLE", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "USERID", nullable = false, updatable = false) })
public Set<Portailuser> getPortailusers() {
return this.portailusers;
}
Это отображение создало 3-ю таблицу (PORTAIL_USERROLE), где хранятся отношения. Все работает нормально, как это. Когда у меня есть пользователь, я получаю роли.
Но мой вопрос таков: в запросе HQL как я могу получить всех пользователей с определенной ролью? Любой класс представляет таблицу PORTAIL_USERROLE, поэтому я не знаю, как сделать мой HQL-запрос.