【发布时间】:2017-09-06 22:32:58
【问题描述】:
我正在尝试将数据插入到具有列 (NAME, VALUE) 和
的表中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
问题是:
- 查询字符串有什么问题?
非常感谢。
【问题讨论】:
-
在 JPA 中设置对象并使用 entitymanagers persist 方法来保存它们
-
@Jens:如果我像上面那样选择或更新或删除,一切都按原样执行,那么这个查询有什么问题?
-
也许this 会回答您的问题(Google jpa 插入)
-
@Jens:感谢您的链接。我在想,也许休眠中没有插入,但我也无法通过本机查询插入记录:(。
-
如果你使用
em.createNativeQuery就可以