6

如何在 JPA 中检查数据库是否连接,当数据库连接在部署应用程序后打开或关闭时,即(在运行应用程序时)

4

2 回答 2

6

最简单的方法是执行查询,例如

em.createNativeQuery("select 1 from dual").getSingleResult();

通常,数据源/连接池或 JPA 提供程序将提供某种连接测试或死连接解决方​​案。

如果您使用 EclipseLink 的连接池,它将自动检测死连接并重试查询。

于 2012-07-03T13:00:14.693 回答
1

通常,所有 JPA 实现都使用一些连接池或池化数据源(如 C3P0),并且这些连接池具有在获取连接之前测试数据库连接性的配置。请检查您的连接池/数据源文档以了解此设置。

于 2012-07-03T10:40:59.590 回答