簡體   English   中英

從JPA中的存儲過程獲取SELECT結果

[英]Get the SELECT result from a stored procedure in JPA

我正在嘗試運行一個存儲過程,該存儲過程運行SELECT語句,導致在單列中顯示YES或NO。 但是我找不到在Java中獲得此結果的方法。

我的代碼:

StoredProcedureQuery sp = em.createStoredProcedureQuery("sp_verify_solutuion")
                    .registerStoredProcedureParameter("cod_company", Integer.class, ParameterMode.IN)
                    .registerStoredProcedureParameter("cod_person", Integer.class, ParameterMode.IN)
                    .registerStoredProcedureParameter("result", Class.class, ParameterMode.REF_CURSOR);
sp.setParameter("cod_company", 552);
sp.setParameter("cod_person", cod_person);

sp.execute();
//here I want to save the result in a String variable

我嘗試使用Void.class,ParameterMode.OUT(在第三個參數中),但沒有成功。

我正在使用Microsoft SQL Server

就像您說的那樣,將最后一個參數更改為您的OUT參數

StoredProcedureQuery sp = em.createStoredProcedureQuery("sp_verify_solutuion")
                        .registerStoredProcedureParameter("cod_company", Integer.class, ParameterMode.IN)
                        .registerStoredProcedureParameter("cod_person", Integer.class, ParameterMode.IN)
                        .registerStoredProcedureParameter("result", Integer.class, ParameterMode.OUT);
                sp.setParameter("cod_company", 552);
                sp.setParameter("cod_person", cod_person);

                sp.execute();

然后調用getOutputParameterValue方法存儲結果

String res = (String)sp.getOutputParameterValue("result");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM