繁体   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