当Hibernate失去连接时显示消息

时间:2012-06-07 04:09:03

标签: java hibernate swing

我有一个Hibernate J2SE Swing应用程序,我想向用户显示一个MessageBox,说当互联网连接或网络出现问题时无法建立连接。我知道需要捕获的异常 -

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

但是Hibernate已经在内部处理了这个异常。那么你们有什么建议呢?

1 个答案:

答案 0 :(得分: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