查询以包含 spring 批处理作业参数值以及作业执行数据

query to include spring batch job param value along with job execution data

对于 Spring 批处理作业,我有作业参数,例如 requestName & responseId 位于 BATCH_JOB_EXECUTION_PARAMS table.

JOB_EXECUTION_ID | KEY_NAME | STRING_VAL 
2   |             responseId             | f5e1b3e9
2   |             requestName            | DUMMY

我正在使用以下查询检索有关作业执行的详细信息:

SELECT je.JOB_EXECUTION_ID, 
       je.START_TIME, 
       je.END_TIME, 
       je.STATUS, 
       je.EXIT_CODE, 
       je.EXIT_MESSAGE, 
       ji.JOB_INSTANCE_ID, 
       ji.JOB_NAME,
       --add requestName STRING_VAL
FROM BATCH_JOB_EXECUTION je
INNER JOIN BATCH_JOB_EXECUTION_PARAMS p ON je.JOB_EXECUTION_ID = p.JOB_EXECUTION_ID
INNER JOIN BATCH_JOB_INSTANCE ji ON je.JOB_INSTANCE_ID = ji.JOB_INSTANCE_ID
WHERE p.KEY_NAME = 'responseId' AND p.STRING_VAL = 'f5e1b3e9'

如何在查询中填充 requestName 的值?因此,对于 JobExecution id 2,其 returns 附加列 REQUEST_NAME 的值为 DUMMY

@MO6H 像这样加入另一个 BATCH_JOB_EXECUTION_PARAMS 实例:

SELECT je.JOB_EXECUTION_ID, 
   je.START_TIME, 
   je.END_TIME, 
   je.STATUS, 
   je.EXIT_CODE, 
   je.EXIT_MESSAGE, 
   ji.JOB_INSTANCE_ID, 
   ji.JOB_NAME,
   p2.STRING_VAL AS `REQUEST_NAME` -- add requestName STRING_VAL
FROM BATCH_JOB_EXECUTION je
INNER JOIN BATCH_JOB_EXECUTION_PARAMS p ON je.JOB_EXECUTION_ID = p.JOB_EXECUTION_ID
INNER JOIN BATCH_JOB_INSTANCE ji ON je.JOB_INSTANCE_ID = ji.JOB_INSTANCE_ID
JOIN BATCH_JOB_EXECUTION_PARAMS AS p2 ON p2.JOB_EXECUTION_ID = p.JOB_EXECUTION_ID        
WHERE p.KEY_NAME = 'responseId' 
    AND p.STRING_VAL = 'f5e1b3e9'
    AND p2.KEY_NAME = 'requestName'

如果这不能满足您的要求,请告诉我,我会尽力提供进一步的帮助。