从休眠命名查询调用存储过程时出现 SQLException 00604 & 01003
Posted
技术标签:
【中文标题】从休眠命名查询调用存储过程时出现 SQLException 00604 & 01003【英文标题】:SQLException 00604 & 01003 while calling stored procedure from hibernate named query 【发布时间】:2013-06-28 10:34:56 【问题描述】:我们正在从休眠中调用一个存储过程(它在其中调用另一个)。
Query query = session.getNamedQuery("query_name");
query.setParameter('param', 'value');
query.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE);
List returnList = query.list();
我们在SQL developer中运行时,存储过程独立运行良好。但是我们通过应用程序运行它,它给出了以下错误。
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-01003: no statement parsed
我们尝试过的事情:
-
从休眠中调用一个简单的存储过程 - 运行良好。
创建测试用例来测试存储的方法
正在调用过程(引发错误) - 运行良好。
我们的问题是,为什么相同的查询在测试用例中运行良好,而不是在运行整个应用程序时?
有什么想法吗?
更新 这是我的错,我错误地传递了论点。刚刚交换了第一个两个参数。对于面临此问题的任何人,请检查您在命名查询中的参数顺序。
谢谢。
【问题讨论】:
【参考方案1】:这是我的错,我错误地传递了参数。刚刚交换了第一个两个参数。对于面临此问题的任何人,请检查您在命名查询中的参数顺序。
【讨论】:
以上是关于从休眠命名查询调用存储过程时出现 SQLException 00604 & 01003的主要内容,如果未能解决你的问题,请参考以下文章
ORACLE PL/SQL 在查询 3 列信息时出现存储过程错误