我们可以自定义春季批处理元表吗?



我们可以更改这些表的名称吗?

Default Table Name->Customize Name
-----------------------------------------
• BATCH_JOB_INSTANCE->JobInstanceDescription
• BATCH_JOB_PARAMS-> JobExecutionParameters
• BATCH_JOB_EXECUTION[Customized Name Will Be Provided In Similar Fashion]
• BATCH_JOB_EXECUTION_CONTEXT->[Customized Name Will Be Provided In Similar Fashion]
• BATCH_STEP_EXECUTION->[Customized Name Will Be Provided In Similar Fashion]
• BATCH_STEP_EXECUTION_CONTEXT->[Customized Name Will Be Provided In Similar Fashion]

不,不可能完全重命名 Spring Batch 元数据表。只能更改前缀部分。

我的答案是基于这样一个事实,即我在Spring Batch API中查看了几个类的代码,例如 -org.springframework.batch.core.repository.dao.JdbcExecutionContextDaoorg.springframework.batch.core.repository.dao.JdbcJobInstanceDao

这些类使用硬编码查询,例如 -

private static final String CREATE_JOB_INSTANCE = "INSERT into %PREFIX%JOB_INSTANCE(JOB_INSTANCE_ID, JOB_NAME, JOB_KEY, VERSION)" + " values (?, ?, ?, ?)";

&

private static final String FIND_JOB_EXECUTION_CONTEXT = "SELECT SHORT_CONTEXT, SERIALIZED_CONTEXT " + "FROM %PREFIX%JOB_EXECUTION_CONTEXT WHERE JOB_EXECUTION_ID = ?"; 等。

因此,像JOB_INSTANCE&JOB_EXECUTION_CONTEXT这样的后缀部分是硬编码的,因此无法更改。

最新更新