heya, Je suis nouveau pour hiberner. Je dois dire que cela simplifie vraiment tout pour la requête SQL. Cependant, la manipulation du résultat renvoyé est un mal de tête pour moi pour le moment. P>
Le résultat est renvoyé comme liste. La plupart du temps, je souhaite vraiment que le résultat soit dans le résultat, de sorte que je puisse le manipuler plus facilement que l'utilisation d'un ensemble de résultats, vous pouvez spécifier la valeur par nom de colonne ou par index. Dans la liste, je suis à peu près appartenant à la noobité propre. p>
Dans certaines octasentions, je peux récupérer la liste dans une table de données JSF, puis appelez directement le membre directement. Je ne peux pas toujours faire ça. Ne me demandez pas pourquoi. @. @ Tête de filature. P>
Y a-t-il un moyen d'obtenir des résultats à la place de la liste des hibernes? P>
3 Réponses :
OK, j'ai réussi à le faire fonctionner! Moi si heureux!
Pour ceux qui essaient de trouver comment manipuler la liste renvoyée par la requête Hibernate, c'est fondamentalement ce que j'ai fait était .. de là, la liste doit contenir une classe mappée et vous pouvez y accéder par Itérateur. et utilise ensuite Getter pour récupérer la valeur.
Exemple p> espère que cela aide. P> p>
Oh, était que i> votre problème réel? À l'avenir, essayez de poser des questions avec plus de soin. Par exemple. "Comment itération sur une liste code> d'objets en java?" au lieu de demander comment réaliser une solution de contournement et / ou une solution différente / incorrecte. Il y a par la façon dont les moyens meilleurs / plus propres de le faire, mais je vous laisserai à vous comme exercice :)
euh..il y est? Pourriez-vous vous aider à me laisser savoir? Je suis désolé si ma question n'est pas vraiment compréhensible par la communauté, pas un orienté anglais natif.
filetage légèrement ancien mais je ne peux pas résister:
Vous aurez peut-être besoin de cela si vous avez une base de données énorme et que vous ne pouvez pas correspondre à la liste de la liste de la mémoire. Utilisez le défilement () au lieu de la liste ():
Query query = session.createQuery(query); query.setReadOnly(true); setFetchSize(Integer.MIN_VALUE); //MUST use Integer.MIN_VALUE, other value=fetch all ScrollableResults results = query.scroll(ScrollMode.FORWARD_ONLY); // iterate over results while (results.next()) { Object row = results.get(); } results.close();
Vous voulez que Hibernate retourne code> (code> s au lieu de listes d'entités? Si oui, pourquoi avez-vous besoin d'hibernation du tout?
Afficher au moins un exemple pourquoi code> Resultats (code> est meilleur que
Liste code>. Je ne peux vraiment imaginer de personne.
Balusc, je ne dis jamais que les Restaurantssets sont meilleurs que la liste. Je sais que Hibernate est là pour une raison. Je ne peux tout simplement pas sembler analyser la liste en fonction du nom de la colonne, par exemple dans Resulatset, je peux faire des résultatsset.getstring (index) ou Resultset.getstring (NomName). Dans la liste, apparemment je ne peux pas le faire. Y a-t-il quelque chose que je puisse faire pour ça?
Bien que ce fil soit en retard, mais c'est la réponse pour les autres à la recherche de cette question: Stackoverflow.com/Questtions/2605385/...
Mieux vaut tard que jamais! C'est une information utile @raftsman