我正在尝试将数据插入到具有列 (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
问题是:
- 查询字符串有什么问题?
非常感谢。
原文由 Armine 发布,翻译遵循 CC BY-SA 4.0 许可协议
我解决了这个问题。
据此,
但我可以通过本机查询解决问题:我错误地放置了一个多余的 ;在查询的末尾,所以通过删除它解决了问题。