2017-07-12 46 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是硬編碼,所以它不能改變。

相關問題