HQL: consulta de hibernação com ManyToMany

Eu tenho uma pergunta com consulta HQL e hibernação.

Eu tenho uma classe de usuário e uma classe de função. Um usuário pode ter muitas funções. Então, eu tenho uma relação ManyToMany assim:

Na classe de usuário:

@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;
}

Na classe de função:

@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;
}

Esse mapeamento criou uma terceira tabela (PORTAIL_USERROLE) onde as relações são armazenadas. Tudo funciona bem assim. Quando tenho um usuário, recupero funções.

Mas, minha pergunta é: em uma consulta HQL, como posso obter todos os usuários que têm uma função específica? Qualquer classe representa a tabela PORTAIL_USERROLE, portanto não sei como fazer minha consulta HQL.