Java 如何使用spring和hibernate调用存储过程
我收到一条错误消息,即java.lang.reflect.UndeclaredThrowableException和无效列名。您能告诉我为什么会出现此错误吗。我建议遵循文档中的建议: 不能将存储过程用于 冬眠,除非你遵循一些规则 程序/职能规则。如果是的话 不遵守那些规则他们不是 可与Hibernate一起使用。如果你还 你想使用这些程序吗 通过 会话。连接。规则是 每个数据库都不同,因为 数据库供应商有不同的存储空间 过程语义/语法 无法删除存储过程查询 呼叫 setFirstResult/setMaxResults 推荐的通话形式是标准的 SQL92:{?=调用 functionName}或{= 调用procedureName}。 不支持本机调用语法 对于Oracle,以下规则适用: 函数必须返回结果集。a的第一个参数 过程必须是返回的输出 结果集。这是通过使用 Oracle 9或10中的SYS_REFCURSOR类型。 在Oracle中,您需要定义一个REF 游标类型。有关详细信息,请参阅甲骨文文献 进一步资料。 对于Sybase或MS SQL server 以下规则适用: 该过程必须返回一个结果集。注意,由于 服务器可以返回多个结果 设置和更新计数,Hibernate将 迭代结果并取第一个 结果,该结果集作为其 返回值。其他一切都会好起来的 丢弃的。 如果您可以在您的过程中启用SETNOCOUNT ON,则很可能 效率更高,但这不是一个好办法 要求Java 如何使用spring和hibernate调用存储过程,java,hibernate,spring,stored-procedures,orm,Java,Hibernate,Spring,Stored Procedures,Orm,我收到一条错误消息,即java.lang.reflect.UndeclaredThrowableException和无效列名。您能告诉我为什么会出现此错误吗。我建议遵循文档中的建议: 不能将存储过程用于 冬眠,除非你遵循一些规则 程序/职能规则。如果是的话 不遵守那些规则他们不是 可与Hibernate一起使用。如果你还 你想使用这些程序吗 通过 会话。连接。规则是 每个数据库都不同,因为 数据库供应商有不同的存储空间 过程语义/语法 无法删除存储过程查询 呼叫 setFirstResult/s
一旦代码与规则一致,如果仍然出现错误,请提供完整的错误消息 请显示您尝试过的导致此错误的代码。