#已解析-查询//存储的函数调用中不存在位置参数



我有这个方法从ORACLE调用一个存储函数,用java(spring)-使用实体管理器+createNativeQuery。。

(...)
String set_professional = "{? = call
    pk_backoffice.set_professional(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?}";
//32 parameters IN
query = entity.createNativeQuery(set_professional);
(...)

每次我试着测试它,它都会显示:位置参数不存在:查询中的31:{?=调用(…)但是我在31号位有什么东西吗……它存在。。

query.setParameter(31, prof.getFax()); // fax

此外,我在1开始参数,因为在以前的异常中,它说它是基于1的我试过用一个字符串和一个null值代替get,结果仍然一样。。关于查询,我还数了一下?很多次,所以我确信它有32(用于参数)+1(首先返回?)。。。

有人能帮忙吗?

找到解决方案,我全部替换了?对于变量,即使是第一个,错误也消失了。

最新更新