1

我们正在从休眠中调用一个存储过程(它在其中调用另一个)。

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. 从休眠中调用一个简单的存储过程-运行良好。
  2. 创建测试用例以测试调用存储过程(引发错误)的方法 - 运行良好。

我们的问题是,为什么相同的查询在测试用例中运行良好,而不是在运行整个应用程序时?

有任何想法吗?

更新 这是我的错,我正确地传递了参数。刚刚交换了第一个两个参数。对于面临此问题的任何人,请检查您在命名查询中的参数顺序。

谢谢。

4

1 回答 1

0

这是我的错,我错误地传递了论点。刚刚交换了第一个两个参数。对于面临此问题的任何人,请检查您在命名查询中的参数顺序。

于 2013-07-01T05:17:45.630 回答