Comment construire une requête d'insertion dans la JPA
Je suis en train d'essayer d'insérer des données dans une table avec des colonnes (NOM, VALEUR) avec
Query query = em.createQuery("INSERT INTO TestDataEntity (NAME, VALUE) VALUES (:name, :value)");
query.setParameter("name", name);
query.setParameter("value", value);
query.executeUpdate();
et l'obtention de l'exception suivante:
ERROR org.hibernate.hql.internal.ast.ErrorCounter - line 1:42: unexpected token: VALUES
Aussi, je ne peux pas insérer un enregistrement à l'aide d'une requête native:
Query query = em.createNativeQuery("INSERT INTO TEST_DATA (NAME, VALUE) VALUES (:name, :value);");
query.setParameter("name", name);
query.setParameter("value", value);
query.executeUpdate();
Une autre exception est levée:
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute statement
La question est:
- Quel est le problème avec la chaîne de requête?
Merci beaucoup.
En JPA vous Configuration des objets et utilise les entitymanagers persistent méthode pour les sauver
Si je ne sélectionnez mettre à jour ou supprimer similaire à ce qui précède, tout est exécuté comme ils devraient l'être, alors quel est le problème avec cette requête?
Peut-être que ceci les réponses à vos question ( Google app insert)
Merci pour le lien. Je pensais que peut-être il n'y a pas d'insérer dans hibernate, mais je ne peux pas insérer un enregistrement via une requête native, soit :(.
Vous pouvez si vous utilisez
Si je ne sélectionnez mettre à jour ou supprimer similaire à ce qui précède, tout est exécuté comme ils devraient l'être, alors quel est le problème avec cette requête?
Peut-être que ceci les réponses à vos question ( Google app insert)
Merci pour le lien. Je pensais que peut-être il n'y a pas d'insérer dans hibernate, mais je ne peux pas insérer un enregistrement via une requête native, soit :(.
Vous pouvez si vous utilisez
em.createNativeQuery
OriginalL'auteur Armine | 2017-04-11
Vous devez vous connecter pour publier un commentaire.
J'ai résolu le problème.
Selon cette,
Mais j'ai pu résoudre le problème avec une requête native: j'ai accidentellement mis un redondants ; à la fin de la requête, de sorte que le problème résolu par la suppression de.
OriginalL'auteur Armine
J'ai trouvé deux exemples où l'auteur utilise les insérer dans une requête native (première et deuxième). Alors, votre question pourrait être:
De l'essayer.
OriginalL'auteur Máťa - Stitod.cz