小编典典

如何在JPA中构造插入查询

hibernate

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

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

并得到以下异常:

ERROR org.hibernate.hql.internal.ast.ErrorCounter - line 1:42: unexpected token: VALUES

另外,我也不能使用本机查询插入记录:

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

抛出另一个异常:

javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute statement

问题是:

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

非常感谢。


阅读 394

收藏
2020-06-20

共1个答案

小编典典

我解决了这个问题。

根据

JPA中没有INSERT语句。

但是我可以用本机查询解决这个问题:我错误地放置了一个多余的;在查询末尾,因此可以通过将其删除来解决问题。

2020-06-20