JPQL requête select pour pour valeur elementcollection

J'ai l'entité ci-dessous avec enum collection. Je voudrais à la recherche de l'utilisateur avec un enum paramètre.

L'utilisateur peut disposer de plusieurs permission. Quand je recherche les utilisateurs avec le paramètre comme Permission.APPROVE, il peut y avoir un ou plusieurs utilisateurs qui ont cette autorisation.
Comment puis-je écrire JPQL requête?

User.java

@Entity
....
public class User implements Serializable {

    @ElementCollection(targetClass = Permission.class)
    @Enumerated(EnumType.STRING)
    @CollectionTable(name = "USER_PERMISSION", joinColumns = @JoinColumn(name = "PERMISSION", referencedColumnName = "ID")) 
    private List<Permission> permisssionList;
}

Permission.java

public enum Permission {
    REGISTER, APPROVE, REJECT, CONFIRM;
}

Comment écrire ?

public List<User> findUserList(Permission permission) { 
    Query q = em.createQuery(.....);
    result = q.getResultList();
}
InformationsquelleAutor Zaw Than oo | 2014-02-21