我有一个 Hibernate J2SE Swing 应用程序,我想向用户显示一个 MessageBox,说明当 Internet 连接或网络出现问题时无法建立连接。我知道需要捕获的异常 -
java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
但是Hibernate内部已经处理了这个异常。那么你们有什么建议呢?
最佳答案
您可以实现自己的 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
关于java - 当 Hibernate 失去连接时显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10925543/