Код: Выделить всё
/** The entity manager. */
@PersistenceContext
EntityManager entityManager;
@jakarta.transaction.Transactional
public void callStoredProcedure(String procdurename, Integer jobId) {
StoredProcedureQuery storedProcedure = entityManager.createStoredProcedureQuery(procdurename)
.registerStoredProcedureParameter(0, Integer.class, ParameterMode.IN);
storedProcedure.setParameter(0, jobId);
try {
LOGGER.info("Execute Update....... ");
storedProcedure.executeUpdate();
LOGGER.info("Execute Update.......End ");
} finally {
storedProcedure.unwrap(ProcedureOutputs.class).release();
}
}
Код: Выделить всё
PROCEDURE stored_Procedure_db(i_job_id in NUMBER) IS
L_PROC_NAME VARCHAR2(100) := C_MODULE_NAME || '.stored_Procedure_db';
L_TRCSTRING VARCHAR2(1024);
l_Step_Name VARCHAR2(20) := 'Test';
BEGIN
TRACE_PA.TRACE_PR(L_PROC_NAME, 20, 'Start:' || i_Job_Id, 1);
tr_objects_pr_primary(i_job_id);
tr_objects_pr_secondary(i_job_id);
TRACE_PA.TRACE_PR(L_PROC_NAME, 20, 'Ende:' || i_Job_Id);
EXCEPTION
WHEN OTHERS THEN
begin
L_TRCSTRING := 'unhandled exception ' || SQLERRM;
RAISE_APPLICATION_ERROR(-20068, L_TRCSTRING);
end;
END stored_Procedure_db;
< /code>
line trace_pr вводятся в отдельную таблицу DB.tr_objects_pr_primary и tr_objects_pr_secondary, в свою очередь, еще 2 процедуры, вызванные этой процедурой. || зарегистрировано. Я предполагаю, что выполнение процедуры PL/SQL закончилось.
Проблема в том, что линия
**storedProcedure.executeUpdate()**
Есть идеи о том, что происходит?
Подробнее здесь: https://stackoverflow.com/questions/794 ... es-not-end