mysql - Hibernate 异常位置超出声明的序数参数的数量

标签 mysql hibernate

我想使用hibernate执行mysql插入查询,我有这个:

String q1="INSERT INTO sample (DatasetStatusID,Message,ProcessTime) VALUES('?','?','?') ";
Query query=session.createSQLQuery(q1);
query.setParameter(0, 5);
query.setParameter(1, "TESTING");
query.setParameter(2, new Date());  
int result=query.executeUpdate();
tx.commit();

我发生了以下异常,

Exception in thread "main" org.hibernate.QueryParameterException: Position beyond number of declared ordinal parameters. Remember that ordinal parameters are 1-based! Position: 1

这里出了什么问题?

最佳答案

如果您使用HIBERNATE,推荐的保存数据方法是save()HIBERNATE 拥有数据库操作的所有方法。但有些原因您可以使用native sql 查询。使用 hibernate 保存如下所示:

 Session sess = factory.openSession();
 Transaction tx;
 try {
     tx = sess.beginTransaction();
     sess.save(YourPojo);
     tx.commit();
 }
 catch (Exception e) {
     if (tx!=null) tx.rollback();
     throw e;
 }
 finally {
     sess.close();
 }

推荐的 Hibernate 教程:
Hibernate Reference Documentation
Hibernate Tutorial

关于mysql - Hibernate 异常位置超出声明的序数参数的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116036/

相关文章:

mysql - 从一个表到另一个表的连接子句,其中一个表具有混合外键

php - 更改sentry 2用户迁移表的主键

java - 如何使用 entityManager 在 JPA 中启动事务

json - 通过动态 @JsonIgnore 注释按需延迟加载

java - 为什么 JPA 实体在 rowKey 属性为主键时抛出异常?

mysql - 禁用 ONLY_FULL_GROUP_BY

mysql - 仅选择关联行均不具有特定值的顶级行

mysql - 连接多个表的数据库设计最佳实践

java - 无效数据访问ApiUsageException : detached entity passed to persist

mysql - 当两个事务同时保存数据时,Hibernate 集合数据丢失