Выполните процедуру с гибернацией

Метод для выполнения процедуры в банке был создан, но он же дает эту ошибку: Вызвано: java.lang.IllegalArgumentException: неизвестное имя регистрации параметра [movimentoId]

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()
        }
    }
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
79
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если процедура уже создана в БД, просто вызовите эту процедуру, передав правильный аргумент, например,

Query query = sf.getCurrentSession()
                .createSQLQuery(
                "CALL Procedure_Name(:movimentoId)")
                .addEntity(ClassName.class)
                .setParameter("movimentoId", "ur_Id");

            List result = query.list();

Другие вопросы по теме