【问题标题】:How to call procedures from hibernate如何从休眠中调用程序
【发布时间】:2017-06-14 06:06:22
【问题描述】:

我是休眠的新手我想知道我们是否可以从休眠中调用程序。如果我们可以打电话给我,请给我一些例子。(我的程序将有多个输出参数)

【问题讨论】:

  • 是的,这是可能的。发帖前你环顾四周了吗? (例如,请参阅here)。

标签: java hibernate


【解决方案1】:

首先你必须获取当前会话并开始交易:

session = sessionFactory.getCurrentSession();
        session.beginTransaction();

接下来您使用方法createStoredProcedureQuery 创建存储过程。它接受过程名称(“listPhones”)作为参数:

StoredProcedureQuery procedure = session.createStoredProcedureQuery("listPhones");

接下来您需要注册所有输入和输出参数。使用方法registerStoredProcedureParameter。它的第一个 arg 是从 0 开始的参数索引,第二个 arg 是 sql 类型的 java 类型。 Sql varchar 在 java 中是 String。第三个参数是 javax.persistence.ParameterMode 枚举。可以是INOUT, INOUT,REF_CURSOR

procedure.registerStoredProcedureParameter(0, String.class, ParameterMode.IN);
procedure.registerStoredProcedureParameter(1, String.class, ParameterMode.OUT);

最后你必须通过索引设置注册参数:

    procedure.setParameter(0, "22222287832,33333287832");
procedure.setParameter(1, string);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 2011-08-21
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    • 2015-02-20
    相关资源
    最近更新 更多