2010-11-02 6 views
0


J'avais un problème pour obtenir des résultats via hibernate.
J'ai quatre tables SnsUser, Participant, Interaction, Contenu; SnsUser & L'interaction a une relation many-2-many et Interaction and Content a plusieurs-2-one. (SnsUser et interation se sont Jeu de participants là des cours de cartographie, mise en veille prolongée fait pour beaucoup-2-many)Jeu de résultats et mappage hibernate

quand je lance HQL comme

from SnsUser s join fetch s.participants p join fetch p.interaction i join fetch i.content c where s.blessUid=1 

(Liste de retour (SnsUser) liste)

il me donne disons 10 lignes et dans chaque rangée (ie SnsUser) a 10 lignes en tant que participant.

Mais quand je lance comme un HQL aiment

from Participant p join fetch p.snsUser s join fetch p.interaction i join fetch i.content c where s.blessUid=1 

il me donne 10 lignes et je peux obtenir le SnsUser pertinent de lui. MAIS quand je regarde la requête sql réelle c'est pareil pour les deux. Pourquoi il se comporte comme ça ...?

les réponses seraient appréciées. al

Répondre

0

Je suis sceptique, les deux questions ne doivent pas être les mêmes (on doit être effectuée sur la table SnsUser et l'autre doit être effectuée sur la table Participant).

Et parce que je ne fais confiance qu'à ce que je vois, je ne changerai d'avis que lorsque vous montrerez les requêtes générées (et le mapping permettant de comprendre pleinement le modèle).

+0

oui. J'aurais dû dire similaire. les conditions de jointure sont les mêmes. Donc, le point est que je serais toujours peuplé lorsque je voudrais exécuter à partir de SnsUser? – Deam

+0

@ user330281: J'ai besoin du modèle de mappage et d'objet pour commenter davantage. –