我想从Hibernate调用一个存储过程,它返回一个out值。
create procedure myProcedure
(
in in_Id int,
out out_Id int
)
begin
...
END;
字符串
我正在尝试调用我的程序
Query query = session.createSQLQuery(
"CALL myProcedure(:in_Id)")
.setParameter("in_id", 123);
//Not sure how to register out parameters...??
List result = query.list();
型
我尝试了一切,但没有运气。你能帮助我吗?如果我尝试上面的它说:
PROCEDURE myProcedure的参数数目不正确;应为2,得到1
我尝试添加一个out参数,
myProcedure(:out_id:in_Id)
型
但它说
未设置所有命名参数:
我不知道out参数是怎么设置的?是不是像下面这样?
.setParameter("out_id", ?);
型
任何帮助是赞赏:)
7条答案
按热度按时间j1dl9f461#
假设你有一个简单的存储过程,它输出一个基本类型:
字符串
您可以使用JPA
StoredProcedureQuery
调用此存储过程:型
66bbxpm52#
最简单的方法是将out参数作为返回参数的一部分返回(仅当您有权访问存储过程时才相关)。
jest添加一个存储过程,如下所示
字符串
完成后,它很简单地使用它与Hibernet在以下方式
型
结果包含out参数,如果你想返回multiply参数,你可以通过选择@parm1,@parm2,...,@parmn来添加它。
希望有帮助
5fjcxozz3#
字符串
在这里,我在config包中自动连接了entitymanager并配置了hibernatePersistence
lawou6xi4#
例如:
字符串
r8uurelv5#
字符串
参考上述示例
jq6vz3qz6#
字符串
wkyowqbh7#
return null;
字符串