我们可以更改这些表的名称吗?
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.JdbcExecutionContextDao
和org.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
这样的后缀部分是硬编码的,因此无法更改。