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 em.createNativeQuery

OriginalL'auteur Armine | 2017-04-11