Hibernate JPA Natif de Requête ResultSet
J'ai besoin d'obtenir un jeu de résultats via l'exécution d'une requête native en veille prolongée. Si je suis à l'aide de l'EntityManager, la requête et le jeu de résultats ne peuvent pas être des entités.
Un besoin de jeu de résultats qui est de la Liste. Depuis l'sélectionnez la sortie peut varier (lecture dynamique) je ne peux pas utiliser SqlResultSetMapping.
Quand j'ai essayé le code ci-dessous j'ai eu un résultat. Depuis ce que je demande est une valeur unique résultat. (Hibernate JPA)
Query query = manager.createNativeQuery("select name from fresher_test where id=1");
List<Object> amount = query.getResultList();
if(amount == null)
{
System.out.println("Hey its a null");
return;
}
for(Object e : arr)
{
System.out.println(e.toString());
}
La sortie a été : Alice
Quand j'ai essayé d'obtenir plus de la sélection du même code à l'aide de Requêtes que sélectionnez nom,la désignation de fresher_test where id=1
La sortie est : [Ljava.lang.Objet;@8b1a4f
Un objet. Comment puis-je obtenir les champs de cet objet?. J'ai essayé de transtypage objet e (Liste l = (Liste) e;) pour une Liste, mais je jette java.lang.ClassCastException: java.lang.La chaîne ne peut pas être lancé à java.util.Liste.
- Ce là une manière que je pourrais obtenir les valeurs dans une Liste ou un Tableau ??
Note : je ne peux pas utiliser un résultat de la classe/de l'entité, car les résultats pourraient être dynamique.
OriginalL'auteur Geez | 2012-07-16
Vous devez vous connecter pour publier un commentaire.
Lors de l'extraction de plusieurs colonnes, le résultat est un
List<Object[]>
. ChaqueObject[]
contient une colonne de la ligne. Donc dans votre cas, chaqueObject[]
contiennent 2 éléments, le premier étant le nom, et la seconde étant la désignation.Noter que
getResultList()
ne sera jamais nulle. Vous ne devriez pas vérifier.OriginalL'auteur JB Nizet
JPA 2.0, si vous voulez que votre résultat personnalisé dans un bean:
faire un haricot avec spécifique constructeur
puis dans votre entité o cartographie, faites votre requête nommée comme ceci
OriginalL'auteur CypraxPuch
vous pouvez utiliser les éléments suivants
OriginalL'auteur Lakshmanan Narayanan
J'ai été confrontée au même problème et comment le résoudre : http://mariemjabloun.blogspot.com/2014/09/jpa-20-native-query-result-mapping-to.html
OriginalL'auteur MariemJab