【发布时间】:2017-09-29 23:43:05
【问题描述】:
我们在项目中使用 hibernate 作为 ORM 工具。我们有一个场景,我们需要调用一个存储过程。现在这个存储过程在内部使用一个游标来遍历存储在数据库表中的规则列表。
当我们遍历游标时,我们检查@@sqlstatus !=2。当游标中的结果集完全遍历时,sqlstatus 将为 2。
当我们使用 exec 直接执行存储过程时,它会返回结果。它也通过 java JDBC 代码运行。但是当我们通过hibernate调用时,条件检查失败@@sqlstatus!=2,因为它找到了sqlstatus = 2。我们在存储过程中尝试了一些调试语句,当通过hibernate调用存储过程时,它不会以 sqlstatus = 2 遍历结果集,因此存储过程返回 null。
我们使用的是 sybase ASE 15.7,hibernate 4.1 版本。
请告诉我可能是什么问题。
【问题讨论】: