-2
我是休眠新手我想知道我們可以從休眠或不休眠調用過程。如果我們可以調用可以在任何請給我一些例子(我的程序將有多個輸出參數)如何從休眠調用程序
我是休眠新手我想知道我們可以從休眠或不休眠調用過程。如果我們可以調用可以在任何請給我一些例子(我的程序將有多個輸出參數)如何從休眠調用程序
首先你要獲取當前會話並開始交易:
session = sessionFactory.getCurrentSession();
session.beginTransaction();
接下來創建存儲過程與方法createStoredProcedureQuery
。它接受的程序名(「listPhones
」)作爲參數:
StoredProcedureQuery procedure = session.createStoredProcedureQuery("listPhones");
接下來,你需要註冊所有進出參數。使用方法registerStoredProcedureParameter
。它的第一個參數是從0開始的參數索引,第二個參數是sql類型的java類型。 Sql varchar
是java中的String
。第三個參數是 javax.persistence.ParameterMode
枚舉。它可以是IN
或OUT
,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);
是的,這是可能的。發佈之前你有四處看看嗎? (參見[這裏](例如https://www.mkyong.com/hibernate/how-to-call-store-procedure-in-hibernate/))。 –