2014-02-27 33 views
0

我有一個表單頁面,當我保存它時,它會覆蓋到數據庫。在表單頁面是一個文本框,允許用戶輸入4000個字符,但如果用戶輸入比這個我碰到下面的錯誤更多:捕獲一個GenericJDBCException

ERROR 15:54:05 AbstractFlushingEventListener.performExecutions(301) | 
Could not synchronize database state with session 
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update 

我知道那是因爲它是試圖添加不是更數據庫將允許。我只想抓住異常並重新導向到表單頁面。

當控制器把它傳遞給該線路上手柄請求它失敗:

return super.handleRequest(request,response); 

有沒有什麼辦法可以做到這一點?

+0

你試過用'try'和'catch(GenericJDBCException e)'嗎? –

+0

只限制客戶端不要輸入超過4000個字符,並在控制器中檢查該文本是否包含> 4000個字符? –

+0

另外,最好是做Pradeep提到的,這是更清潔 –

回答

1
try { 
    /* your code that creates the exception */ 
} catch (GenericJDBCException e) { 
    /* redirect back to form page */ 
} 
+0

輝煌的我嘗試着抓住錯誤的代碼區域。謝謝 ! – user3323143