我想执行mysql插入查询使用Hibernate,我有这个:
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();
我发生了以下异常:,
线程“main”组织中出现异常。冬眠QueryParameterException:位置超出已声明序数参数的数量。请记住,序数参数是基于1的!职位:1
这里怎么了?
尝试删除查询中参数占位符(问号)周围的引号。
如果您正在使用HIBERNATE
,建议保存数据的方式是保存()
。HIBERNATE
具有数据库操作的所有方法。但是有些原因可以使用本机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参考文档
Hibernate教程
我使用Spring Data JPA生成了一个非常简单的查询方法,但出现以下错误: 这是我的方法: 有什么想法吗?这让我特别困扰,因为我以前写过数百个这样的查询,而这个看起来非常正常。
我想执行我的选择查询, @查询(value=“select*from data o,其中o.id=:id”,nativeQuery=true) 公共列表查找列表(整数id); 获取非法参数异常, 位置超出已声明顺序参数的数量。请记住,序数参数是基于1的!职位:1
登录库 服务函数 登录控制器 错误 我实际上在这里检查日志记录时输入的数据是否存在于数据库中。如果数据为,那么list将为,并将其发送回登录到主页。有人能帮我吗?
我有一个Hibernate Web应用程序,目前正在tomcat/CloudFoundry上运行,但当我尝试在JBoss上运行它时,我遇到了一些错误。 在我的DAO中,我创建了一个查询来按用户名加载用户,如下所示: 当我在Tomcat上运行应用程序时,上面的方法是有效的,但是当我在JBoss上运行应用程序时,我得到了以下错误: 我已经尝试更改为以下两个问题,但仍然没有成功: 上面给我同样的错误。因
我想使用hibernate执行本机/原始mysql查询,我有: 我得到的错误: 这里怎么了?
我正在使用Hibernate/JPA执行本机PostGIS查询。这些查询的问题在于它们需要不是经典X='value'形式的参数。 我的问题是:- 错误:- 有人知道如何解决这种情况吗?