2012-06-07 65 views
1

我有一個Hibernate J2SE Swing應用程序,我想向用戶顯示一個MessageBox,指出當互聯網連接或網絡出現問題時無法建立連接。我知道需要被捕獲的異常 -當Hibernate丟失連接時顯示消息

java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection 

但是Hibernate已經在內部處理了這個異常。那麼你們建議什麼?

回答

3

你可能會觸犯你自己的ConnectionProvider。 基本上每當Hibernate需要數據庫連接時,它都會在其配置的ConnectionProvider上調用getConnection()

您可以創建您正在使用的ConnectionProvider的子類,做這樣的事情:

public class MyConnectionProvider extends WhateverConnectionProviderYouAreUsing 
    { 
     public Connection getConnection() 
     { 
      try 
      { 
       return super.getConnection(); 
      } 
      catch (Exception e) 
      { 
       // Show message about connection error 
      } 
     } 

在SessionFactory的配置,你必須配置您的自定義的ConnectionProvider像

hibernate.connection.provider_class=your.packagename.MyConnectionProvider 
+0

這正是處理它的方式。 –