索引中丢失in或out参数 15

来源:互联网 发布:商城数据库 编辑:程序博客网 时间:2024/06/10 15:42

问题出现原因问题汇总:

1。Hibernate中映射文件<sql-quary>手动写insert 语句结果发现DAO层设置值时少写一段,导致值与字段不一致,

2.hbm配置文件和数据库字段类型不一致所导致,那个数字2就表示表达式的对应的字段。

例如,数据库中字段是VARCHAR2,hbm配置文件中误写成了double。

3.

java.sql.SQLException: 索引中丢失  IN 或 OUT 参数:: 4

 

这种错误写程序时不会报错,运行时只会出来,不了解的话错误很难发现。下面是出错原因:

 

getSession().createSQLQuery(sql)
  .setInteger(0, o)
  .setDate(1, o)
  .setFloat(2,o )
  .setInteger(2, o);

 

在设置sql中参数的位置下标重复

4.全角半角引起;参数过多;配置文件和数据库字段类型不一致;或是数据库的索引问题

5.sql语句中设置参数的时候参数位置出了错,或者参数不够

6.最终发现是配置文件和数据库字段类型不一致所导致

最后总结一下各位高手对索引中丢失 IN或OUT 参数的解决方法:

(1)首先,查索引有没有问题,如果没有索引,或是索引无问题;则

(2)仔细检查每个字段赋值的地方,类型是否与数据库字段类型匹配;是否为空;

 

 

 

 

原创粉丝点击