0

我有一个 oracle Store 过程,其中两个 in 参数 varchar2 类型
一个ref_cursor out 参数和一个 number out 参数如何使用休眠调用该过程而无需从 Session 对象获取 JDBC 连接

4

1 回答 1

0

Hibernate 是一个对象-关系映射工具,旨在充当 OO 和关系范式之间的桥梁。它不仅仅是 JDBC 的便捷包装器。因此,它不是为使用存储过程而设计的。

如果你真的必须的话,你可以使用本机查询来做到这一点。

例子:

Query query = session.createSQLQuery(
  "CALL GetStocks(:stockCode)")
  .addEntity(Stock.class)
  .setParameter("stockCode", "7277");

借自http://www.mkyong.com/hibernate/how-to-call-store-procedure-in-hibernate/

我建议改为使用 MyBatis - 它被设计为 JDBC 的便捷包装器,并将 SQL 结果集映射到您的域对象。

http://mybatis.github.io/mybatis-3/

于 2013-10-08T18:45:23.723 回答