Как выполнить строгую процедуру в весенней загрузке, которая не возвращает набор результатов?

Я хочу выполнить процедуру хранения, которая не возвращает никакого набора данных. Я использовал эту процедуру хранения для обновлений записей .. мой код

 Query q1 = entityManager.createNativeQuery("call rrear_etl_processing.Sp_UpdateOATSROE( ?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, ?15, ?16, ?17, ?18, ?19, ?20, ?21, ?22, ?23, ?24, ?25, ?26, ?27, ?28, ?29, ?30, ?31, ?32, ?33, ?34, ?35, ?36, ?37, ?38, ?39, ?40, ?41, ?42, ?43, ?44, ?45, ?46, ?47, ?48, ?49, ?50, ?51, ?52, ?53, ?54, ?55, ?56, ?57, ?58, ?59, ?60, ?61, ?62, ?63, ?64, ?65, ?66, ?67, ?68, ?69, ?70, ?71, ?72, ?73, ?74, ?75, ?76, ?77, ?78, ?79, ?80, ?81, ?82, ?83, ?84, ?85, ?86, ?87, ?88, ?89, ?90, ?91, ?92, ?93, ?94, ?95, ?96, ?97, ?98, ?99, ?100, ?101, ?102, ?103, ?104, ?105, ?106, ?107, ?108, ?109, ?110, ?111, ?112, ?113 ,?114, ?115, ?116, ?117)")
     .setParameter(1,P_RowID)   
        .setParameter(2,P_Exception_CD) 
        .setParameter(3,P_Exception_Description)
        .setParameter(4,P_ORDER_EVENT_TYPE)
        .setParameter(5,P_OrderDatetime)
**remaining parameters
List result = q1.getResultList();

Взгляните на это: stackoverflow.com/questions/3572626/…

CrazySabbath 25.06.2018 15:51

Мне не нужен набор результатов .. У меня исключение .. 'Набор результатов взят из ОБНОВЛЕНИЯ. Нет данных'

Nitin Wahale 26.06.2018 07:33
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
289
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вам нужно использовать метод createStoredProcedureQuery(String procedureName)

Query q1 = entityManager.createStoredProcedureQuery(...);
q1.execute();

как установить параметры

Nitin Wahale 26.06.2018 07:31

Используйте .registerStoredProcedureParameter() и .setParameter(), как и вы

Jan Larsen 26.06.2018 15:59
Ответ принят как подходящий

Решено Я использовал .executeUpdate ();, чтобы не возвращать какой-либо набор результатов. надеюсь, что это будет полезно для всех

    Object q1 = entityManager.createNativeQuery("call rrear_etl_processing.Sp_UpdateOATSROE( ?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, ?15, ?16, ?17, ?18, ?19, ?20, ?21, ?22, ?23, ?24, ?25, ?26, ?27, ?28, ?29, ?30, ?31, ?32, ?33, ?34, ?35, ?36, ?37, ?38, ?39, ?40, ?41, ?42, ?43, ?44, ?45, ?46, ?47, ?48, ?49, ?50, ?51, ?52, ?53, ?54, ?55, ?56, ?57, ?58, ?59, ?60, ?61, ?62, ?63, ?64, ?65, ?66, ?67, ?68, ?69, ?70, ?71, ?72, ?73, ?74, ?75, ?76, ?77, ?78, ?79, ?80, ?81, ?82, ?83, ?84, ?85, ?86, ?87, ?88, ?89, ?90, ?91, ?92, ?93, ?94, ?95, ?96, ?97, ?98, ?99, ?100, ?101, ?102, ?103, ?104, ?105, ?106, ?107, ?108, ?109, ?110, ?111, ?112, ?113 ,?114, ?115, ?116, ?117)")
                        .setParameter(1,P_RowID)
                        .setParameter(2,P_Exception_CD)
                        .setParameter(3,P_Exception_Description)
                        .setParameter(4,P_ORDER_EVENT_TYPE)
                        .setParameter(5,P_OrderDatetime)
                          *
                          *
                    .setParameter(115,P_MPID_OATS_Exc_ID )
                    .setParameter(116,P_Report_Header_ID)
                    .setParameter(117,P_Updated_By)
                    .executeUpdate();

Еще лучше использовать что-нибудь, названное так, чтобы отражать то, что вы делаете.

Jan Larsen 26.06.2018 16:02

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