我試圖讀取一個固定長度的文本文件並使用spring批處理將其註冊到數據庫,但輸入文件一般佈局是嵌套的,就像(列表添加只是爲了簡化可視化):Spring批處理ItemReader處理樹結構化文件
FILE HEADER
ENTERPISE1 HEADER
DEPARTMENT1 HEADER
WORKER1
WORKER2
DEPARTMENT1 FOOTER
DEPARTMENT2 HEADER
WORKER3
DEPARTMENT2 FOOTER
ENTERPRISE1 FOOTER
ENTERPRISE2 HEADER
DEPARTMENT3 HEADER
WORKER4
DEPARTMENT3 FOOTER
ENTERPRISE2 FOOTER
.
.
.
FILE FOOTER
文件必須被導入到與表和關係,如數據庫。
TABLE RELATION TABLE
ENTERPRISE (ONETOMANY) DEPARTMENTS
DEPARTMENT (ONETOMANY) WORKERS
在其他Spring Batch的項目,我已經實現,我們使用了相同的佈局,regiters文件與字段指的是它們所屬的關係。在這種情況下,寄存器的類型由行的第一列上的「id」和「樹」結構的關係來標識。 是否有任何可以幫助完成此任務的彈出即用型ItemReader?我得到的解決方案是構建一個自定義ItemReader,它讀取企業註冊並不斷讀取構建部門和工作對象的行,並返回一個Enterprise對象,所有部門和工作人員立即寫入數據庫,但我不知道是否當工作人員和部門的人數過高時(使用JPA寫入數據庫)會進行擴展。
在此先感謝您的幫助。
因爲我必須處理許多文件,每個文件都有一個企業樹,所以我立即讀完整個企業,使用已經存在的框架JpaWriter安裝關係並寫入數據庫 – guilhermerama