我的根本問題是我只能讀取大型數據集。這個數據集有大約300,000條記錄。其中一些記錄 包含從拼寫錯誤到缺失數據塊的錯誤。不幸的是, 無法在源代碼中修復,也無法創建固定本地克隆版本 。當發現這些錯誤時,它們相對容易修復,通常可以通過幾行代碼完成。問題 我正在努力的是一個理智和可擴展的系統,使這些錯誤成爲 記錄和修復。系統修復數據集中的已知錯誤
有一堆if(primaryKey == 245664) {fix here}
作品的方法,但 是一個可怕的解決方案。
我正在用Java編寫,已經看了ServiceLoader機制,但這些感覺 有點重量級爲我的目的。任何建議將不勝感激。
根據您的級別和訪問方法...考慮爲JPA映射實體編寫某種驗證器方法,該方法由'@ PostLoad'方法調用。 –
我看着這個解決方案。問題是每個「修復」都是獨一無二的。所以任何PostLoad方法仍然必須確定我正在修復哪個原始記錄。正如我之前所說的,我真的不想要一大堆if語句的方法。 – Chesrae
你可以在'HashMap'中存儲某種'DataFix'實體,鍵入到PK中(注意:如果你的問題對於這個級別來說真的是獨一無二的,那麼你只是簡單地修理你的數據) 。你可以嘗試以這種方式提供某種可配置的修復......但實際上,你應該得到某種固定設置(本地或從原來的)。允許數據庫錯誤持續存在,乞求麻煩... –