l'utilisation de l'entityManager.createNativeQuery(requête,foo.class)
Je voudrais revenir une Liste de nombres Entiers à partir d'un
javax.persistence.EntityManager.createNativeQuery
appel
Pourquoi est la suivante incorrect?
entityManager.createNativeQuery("Select P.AppID From P", Integer.class);
précisément pourquoi suis-je "...entité Inconnue: java.lang.Integer"
Je dois créer une classe d'entité qui a un seul champ est un Entier ?
Grâce
Vous devez vous connecter pour publier un commentaire.
Ce que vous faites est appelé un projection. C'est quand vous revenez seulement un scalaire valeur qui appartient à une entité. Vous pouvez faire cela avec JPA. Voir valeur scalaire.
Je pense que dans ce cas, en omettant le type d'entité au total, c'est possible:
Exemple tiré de ici.
Qui ne fonctionne pas parce que le deuxième paramètre doit être mappé l'entité et bien sûr l'Entier n'est pas une classe persistante (car elle n'a pas l' @Entité d'annotation sur elle).
pour vous, vous devriez faire ce qui suit:
ou si vous souhaitez utiliser les requêtes HQL vous pouvez faire quelque chose comme ceci:
Ce qui concerne.
List<Integer> values = q.getResultList();
d'une façon ou sans boucle, et la création de nouveaux nombres Entiers.Ici est une base de données DB2 Stockées Procidure qui reçoivent un paramètre
SQL
Java
Supposons que votre requête est "select id,nom from users where rollNo = 1001".
Ici requête retourne un objet avec l'id et le nom de la colonne.
Votre Réponse classe est comme ci-dessous:
ici
UserObject
constructeur obtenir un Tableau d'Objets et des données de jeu avec l'objet.Votre requête de l'exécution de la fonction est comme ci-dessous :
Ici, vous devez importer soufflet paquets:
Maintenant votre classe principale, vous devez appeler cette fonction.
Vous devez d'abord obtenir l'EntityManager et appeler cette
getUserByRoll(EntityManager entityManager,String rollNo)
fonction. L'appel de la procédure est donnée ci-dessous:Maintenant que vous avez données dans ce userObject.
Voici les Importations
Remarque:
requête.getSingleResult() retourner un tableau. Vous devez maintenir la position de la colonne et le type de données.
requête retourne un tableau et c'est
[0] --> id and [1] -> name
.Pour plus d'info, visitez cette Réponse
Merci 🙂
JPA a été conçu pour fournir une mise en correspondance automatique entre les Objets et une base de données relationnelle. Depuis l'Entier n'est pas une persistant entité, pourquoi avez-vous besoin d'utiliser JPA ? Un simple JDBC demande de travaux d'amende.