我有这个方法从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(首先返回?)。。。
有人能帮忙吗?
找到解决方案,我全部替换了?对于变量,即使是第一个,错误也消失了。