我试图将数据插入到具有表列 (名称,值) 与
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中没有INSERT语句。
但是我可以用本机查询解决这个问题:我错误地放置了一个多余的;在查询末尾,因此可以通过将其删除来解决问题。