2017-07-12 47 views
1

我们能否改变这些表的名字?我们可以自定义Spring批处理元表吗?

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] 
+0

https://stackoverflow.com/questions/37436658/spring-batch-table-prefix-when-using-java-config – StanislavL

+1

@StanislavL:我想,前缀只会改变表名称前缀,但具有前缀属性保留后缀部分太像 - 'GFA.BATCH_JOB_INSTANCE',所以'JOB_INSTANCE'等将被附加到该前缀。 OP所要查找的是全表名称更改,而没有这些后缀。我会探索,但据我所知,这是不可能的。 –

+0

@StanislavL我已经检查过,在提出问题之前。正如萨比尔汗提到的只有前缀部分可以改变,但更改后缀不知道。另外我已经检查了Spring批处理文档3.0.0,但似乎该部分没有记录。可能是我必须通过更改源代码和模式文件为我的用例定制构建Spring批处理框架。 – RawAliasCoder

回答

1

不,它不可能完全重命名Spring批处理元数据表。只有前缀部分可以更改。

我的答案是基于我在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是硬编码,所以它不能改变。

相关问题