2010-11-05 9 views
1

J'ai une entité public class GroupUser {Group g; Utilisateur u; } Comment puis-je récupérer uniquement les clés primaires de tous les utilisateurs. (c'est-à-dire la liste de u.getId() pour une requête où vous récupérez tous les utilisateurs qui appartiennent à un groupe). Je ne veux pas chercher toute la ligne, car il semble prendre plus de temps en ce momentComment puis-je récupérer uniquement les clés primaires à partir d'une table?

Répondre

2

si vous avez besoin de la requête, il est assez simple

select u.Id from User u et le mettre dans une collection de longue

2

Dans une requête HQL, vous pouvez utiliser la propriété id de se référer à la clé primaire d'une entité (en supposant qu'elle ne définit pas une propriété non-pkey appelé « id », bien sûr). Ainsi, vous pouvez limiter une requête HQL avec une clause select comme si:

select u.id 
from Groups g inner join Users u 

où la jointure interne exclut les utilisateurs qui ne font pas partie d'un groupe. Bien sûr, vous pouvez également appliquer des contraintes standard à cette requête.