首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用hibernate执行过程

使用hibernate执行过程
EN

Stack Overflow用户
提问于 2018-08-10 04:10:01
回答 1查看 79关注 0票数 0

创建了在银行中执行prossidure的方法,但同样会给出此错误:由: java.lang.IllegalArgumentException:未知参数注册名称movimentoId引起

代码语言:javascript
复制
public static void validaPedidoCarga(EntityManager em, String movimentoId){
        StringBuilder sql = new StringBuilder()

        sql.append('BEGIN ')
        sql.append('ADM_SGV.SGV_SFA_PK005.VALIDA_PEDIDO_CARGA(:movimentoId); ')
        sql.append('END;')

        Query query = em.createNativeQuery(sql.toString())
        query.setParameter("movimentoId", movimentoId)
        try{
            query.()
            em.close()
        }catch(NoResultException ex){
            ex.printStackTrace()
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-10 15:28:26

如果已经在DB中创建了一个过程,则只需调用该过程并传递正确参数,

代码语言:javascript
复制
Query query = sf.getCurrentSession()
                .createSQLQuery(
                "CALL Procedure_Name(:movimentoId)")
                .addEntity(ClassName.class)
                .setParameter("movimentoId", "ur_Id");

            List result = query.list();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51775060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档