如何在JPA中构造插入查询

Arm*_*ine 7 java entity hibernate jpa

我试图将数据插入到具有表列(名称,值)

Query query = em.createQuery("INSERT INTO TestDataEntity (NAME, VALUE) VALUES (:name, :value)");
query.setParameter("name", name);
query.setParameter("value", value);
query.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

并获得以下异常:

ERROR org.hibernate.hql.internal.ast.ErrorCounter - line 1:42: unexpected token: VALUES 
Run Code Online (Sandbox Code Playgroud)

此外,我无法使用本机查询插入记录:

Query query = em.createNativeQuery("INSERT INTO TEST_DATA (NAME, VALUE) VALUES (:name, :value);");
query.setParameter("name", name);
query.setParameter("value", value);
query.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

另一个例外是抛出:

javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute statement
Run Code Online (Sandbox Code Playgroud)

问题是:

  • 查询字符串有什么问题?

非常感谢.

Arm*_*ine 13

我解决了这个问题.

根据,

JPA中没有INSERT语句.

但我可以用原生查询来解决这个问题:我错误地提出了多余的问题; 在查询结束时,通过删除它解决了问题.