我想知道是否有可能在UI(例如jsf或primefaces)中進行bean驗證等操作,以便在後端保存實體時執行或執行。例如,我有一項工作可以將客戶從一個系統導入另一個系統。當然我會解析和保存記錄,但問題是數據可能不匹配。一些值可能比字段可容納的更長。如何在批處理作業上保存實體時驗證bean
除了手動逐個檢查字段,有沒有一種有效的方法來解決這個問題?
我想知道是否有可能在UI(例如jsf或primefaces)中進行bean驗證等操作,以便在後端保存實體時執行或執行。例如,我有一項工作可以將客戶從一個系統導入另一個系統。當然我會解析和保存記錄,但問題是數據可能不匹配。一些值可能比字段可容納的更長。如何在批處理作業上保存實體時驗證bean
除了手動逐個檢查字段,有沒有一種有效的方法來解決這個問題?
如果您正在使用JPA進行持久性,則在EE 6環境中默認啓用基於事件的實體驗證(在預留持久性,預更新和預先刪除等生命週期事件上)。所有你需要做的就是開始在你的實體上放置約束(或者添加正確的xml配置文件來通過XML配置約束)。
我已經通過注入驗證並手動驗證豆類解決這個問題:
http://czetsuya-tech.blogspot.com/2013/10/how-to-validate-javaee6-bean-in-job.html
但你會如何處理,並拋出相應的錯誤。例如,列a的長度只有50個字符,但您輸入100?在UI中,JSF可以處理這些驗證,但是如何在工作中: - ? – czetsuya
即使在批處理作業中,你也必須處理異常,對吧?例如,您可能必須重新運行某項工作,因爲某些工作失敗了。我不是這裏確切的API的專家,但我會假設有一種方法可以捕獲發生的異常並在適當的時候處理它們。 – Hardy