![](/img/trans.png)
[英]Calling stored procedure using OUT parameter with Spring Spring JPA 2.*
[英]calling a stored procedure having out parameter using jpa 2.0
以下是步驟。
create or replace
PROCEDURE test ( upload_id_in in NUMBER, o in out NUMBER)
is
begin
select safety_id into o from case_smsw_master where safety_id=111722;
end;
以下是調用該過程的代碼。
Query q = em.createNativeQuery("CALL test(?)");
q.setParameter(1, Long.valueOf(tempCaseId));
q.setHint("org.hibernate.callable", true);
Object i=q.executeUpdate();//getResultList();//executeUpdate();
例外是result set meatadata not found
。 可能是什么原因。
嘗試以下代碼。
/**************************************************/
/* Call MYSQL Stored Procedure and MAP it to bean */
/**************************************************/
Query callStoredProcedure_MYSQL = session.createSQLQuery("CALL SP_MYSQL_HIBERNATE (:param1, :param2, :param3)").addEntity(User.class);
callStoredProcedure_MYSQL.setInteger("param1", 10);
callStoredProcedure_MYSQL.setInteger("param2", 10);
callStoredProcedure_MYSQL.setString("param3", "javaQuery");
/* callStoredProcedure_MSSQL.list() will execute stored procedure and return the value */
List userList = callStoredProcedure_MYSQL.list();
if (userList != null && !userList.isEmpty()) {
for(User user : userList){
System.out.println("Firstname:"+user.getFirstname());
}
}
/******************************************************************/
/* Process custom result of Stored Procedure */
/* Un-comment the code, This will be the same for MSSQL and MYSQL */
/******************************************************************/
Query callStoredProcedure_MYSQL = session.createSQLQuery("CALL SP_MYSQL_HIBERNATE (:param1, :param2, :param3)");
callStoredProcedure_MYSQL.setInteger("param1", 10);
callStoredProcedure_MYSQL.setInteger("param2", 10);
callStoredProcedure_MYSQL.setString("param3", "javaQuery");
/* callStoredProcedure_MYSQL.list() will execute stored procedure and return the value */
List customResult = callStoredProcedure_MYSQL.list();
if (customResult != null && !customResult.isEmpty()) {
Object[] obj = customResult.get(0);
System.out.println(obj[0]);
System.out.println(obj[1]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.