Hibernate en sélectionnant toutes les lignes d'un tableau (à l'aide .* rejoignez avec plusieurs tables, donnant Exception
Est possible avec Hibernate faire cela?
select A.something, B.something, C.something, D.something , E.*
from A
LEFT OUTER JOIN B on A.id = B.id_fk
LEFT OUTER JOIN C ON B.id = C.id_fk
LEFT OUTER JOIN D ON C.id = D.id_fk
LEFT OUTER JOIN E ON A.abc = E.abc;
Cette requête fonctionne bien en SQL, mais donne ci-dessous Exception en veille prolongée:
org.hibernate.hql.ast.QuerySyntaxException: expecting IDENT, found '*' near line 1
OriginalL'auteur sunny_dev | 2012-04-06
Vous devez vous connecter pour publier un commentaire.
vous n'avez pas besoin d'un "*". hibernate est de transformer des objets , * est dénué de sens, comme pour pointer les colonnes SQL. Lorsque vous souhaitez que le E , il transforme le E de l'objet.
c'est le HQL pour
SELECT * FROM E
même "DE E" œuvres", lorsque vous êtes à l'appel de session.createQuery() .
vous ne pouvez pas sélectionner les colonnes , vous pouvez uniquement sélectionner les attributs définis dans la classe d'entité de votre objet
je suis totalement d'accord avec ce que vous dites. S'il vous plaît laissez-moi savoir si il est possible de récupérer quelques attributs à partir des formules de la table et tous les attributs d'une seule table, tout cela à l'aide d'une seule requête HQL. Ce sens est-il possible d'obtenir ce que ma requête SQL dans ma question? Pensez-vous que je devrais écrire comme ci-dessous: A. sélectionnez quelque chose, B. quelque chose, C. quelque chose, D. quelque chose , E à partir d'UNE JOINTURE EXTERNE GAUCHE de B sur A. id = B. id_fk JOINTURE EXTERNE GAUCHE C SUR B. id = C. id_fk JOINTURE EXTERNE GAUCHE D SUR C. id = D. id_fk JOINTURE EXTERNE GAUCHE E SUR A. abc = E. abc; Cette nouvelle requête ne donne pas exception, mais donne la valeur NULL pour les E
- je dire , votre hql dans votre question , remplacer le "E" avec "E.*"
hey, j'ai déjà dit que j'ai essayé d'utiliser "E", mais il donne la valeur NULL pour les E.
OriginalL'auteur kommradHomer
Requête HQL est diffèrent -
SQL --
HQL --
SQL --
HQL --
https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html
OriginalL'auteur prgupta