3
I ont la classe suivante:collections scalaires de requête dans HQL
class User {
String username;
@CollectionOfElements
private Set<String> roles = new HashSet<String>();
[many more things here]
}
Et je veux écrire une requête HQL qui récupère le nom d'utilisateur et les rôles pour tous les utilisateurs.
Query query = session.createQuery("select distinct u.username, u.roles from User u");
Mais cela ne fonctionne pas, il jette l'exception suivante:
org.hibernate.QueryException: not an entity [select distinct u.username,u.roles from com.eyeprevent.domain.users.User u]
plaignez que u.roles
est pas une entité.
Comment puis-je réaliser ce que je veux? (Demander where u.roles='arole'
serait également possible mais encore une fois, cela ne fonctionne pas).
Peut-être que cela pourrait fonctionner. Je vais l'essayer lundi. Merci. Comment puis-je sélectionner les rôles d'un utilisateur? Peut-être 'choisir u.username, les éléments (u.roles) de l'utilisateur u'? – pakore