Java 如何从hibernate调用过程

Java 如何从hibernate调用过程,java,hibernate,Java,Hibernate,我不熟悉hibernate,我想知道我们是否可以从hibernate调用过程。如果我们可以调用任何,请给我一些示例。(我的过程将有多个out参数)首先,您必须获取当前会话并开始事务: session = sessionFactory.getCurrentSession(); session.beginTransaction(); 接下来,使用方法createStoredProcedureRequesty创建存储过程。它接受过程名称(“listPhones”)作为参数: Stor

我不熟悉hibernate,我想知道我们是否可以从hibernate调用过程。如果我们可以调用任何,请给我一些示例。(我的过程将有多个out参数)

首先,您必须获取当前会话并开始事务:

session = sessionFactory.getCurrentSession();
        session.beginTransaction();
接下来,使用方法
createStoredProcedureRequesty
创建存储过程。它接受过程名称(“
listPhones
”)作为参数:

StoredProcedureQuery procedure = session.createStoredProcedureQuery("listPhones");
接下来,您需要注册所有输入和输出参数。使用方法
注册表存储过程参数
。它的第一个参数是从0开始的参数索引,第二个参数是sql类型的java类型。Sql
varchar
在java中是
String
。第三个参数是
javax.persistence.ParameterMode
enum。它可以是
输入
输出
输入
参考光标

procedure.registerStoredProcedureParameter(0, String.class, ParameterMode.IN);
procedure.registerStoredProcedureParameter(1, String.class, ParameterMode.OUT);
最后,您必须按索引设置注册参数:

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

是的,这是可能的。发帖前你看过周围吗?(参见示例)。