N'mise en veille prolongée de l'UNION de TOUS?
Je suis un partiel de l'INTERFACE utilisateur, le développeur de droit maintenant, j'ai besoin de tourner en Hibernation développement. Aujourd'hui, j'ai eu un problème dans les requêtes HQL quand je suis en train d'utiliser de l'UNION de TOUS, voici le HQL:
SELECT COUNT(DISTINCT users.userId) AS totalSize FROM (SELECT DISTINCT
d1.sponsor.id AS userId FROM Dating d1 WHERE d1.invitee.id = ? UNION ALL
SELECT DISTINCT d2.invitee.id AS userId FROM Dating d2 WHERE d2.sponsor.id = ?)
AS users
Il indique une erreur comme ceci:
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: ( near line 1, column 55
Et puis j'ai essayé de traduire cette HQL pour SQL brut:
SELECT COUNT(DISTINCT users.userId) AS totalSize FROM (SELECT DISTINCT
d1.sponsorId AS userId FROM mmy_dating d1 WHERE d1.inviteeId = 6 UNION
ALL SELECT DISTINCT d2.inviteeId AS userId FROM mmy_dating d2 WHERE
d2.sponsorId = 6) AS users;
Normalement, il montre le résultat correct, donc je pensais si Hibernate ne supporte pas l'UNION de TOUS syntaxe?
Merci d'avance.
OriginalL'auteur Brady Zhu | 2013-08-18
Vous devez vous connecter pour publier un commentaire.
Il y a une demande de fonctionnalité s'ouvrent encore pour cette https://hibernate.atlassian.net/browse/HHH-1050. Jetez aussi un oeil à Hibernate Union des alternatives
si vous utilisez pur SQL, alors vous pouvez faire usage de sql natif au lieu de HQL.
OriginalL'auteur Sean Carroll
voudrais partager, ce qui dans mon cas, j'ai trouvé une situation qui longeait cette situation.
La seule règle ici est d'avoir le même type, dans ce cas la Chaîne, correspondant à retourner la liste, peut ajouter autant de tables que vous voulez:
J'espère avoir contribué un peu, bonne chance à tous...
OriginalL'auteur user3632200